Billing system for services provided via instant communications

ABSTRACT

Systems, methods and program products are disclosed for determining billable usage of a communications system wherein services are provided via instant communications. In some embodiments, the present invention provides for authorizing the fulfillment of service requests based upon information pertaining to a billable account.

PRIORITY CLAIM AND CROSS-REFERENCE

[0001] The present application claims priority to U.S. ProvisionalPatent Application Serial No. 60/369,271 (Atty. Docket CDR-02-002PR),filed Apr. 2, 2002, entitled “Chat-Accessible Services in aCommunication System,” assigned to the assignee of the presentapplication and incorporated herein by reference its entirety.

[0002] The present application is also related to the followingco-pending applications, which are assigned to the assignee of thepresent application and incorporated herein by reference in theirentireties:

[0003] U.S. patent application Ser. Nos. ______ (Docket No. CDR-02-013),filed concurrently herewith and entitled “Messaging Response System;”

[0004] U.S. patent application Ser. Nos. ______ (Docket No. CDR-02-014),filed concurrently herewith and entitled “Communications Gateway withMessaging Communications Interface;”

[0005] U.S. patent application Ser. Nos. ______ (Docket No. CDR-02-015),filed concurrently herewith and entitled “Media Translator;”

[0006] U.S. patent application Ser. Nos. ______ (Docket No. CDR-02-016),filed concurrently herewith and entitled “Billing System forCommunications Services involving Telephony and Instant Communications;”

[0007] U.S. patent application Ser. Nos. ______ (Docket No. CDR-02-017),filed concurrently herewith and entitled “Call Completion via InstantCommunications Client;”

[0008] U.S. patent application Ser. Nos. ______ (Docket No. CDR-02-018),filed concurrently herewith and entitled “Enhanced Services CallCompletion;”

[0009] U.S. patent application Ser. Nos. ______ (Docket No. CDR-02-019),filed concurrently herewith and entitled “Providing of PresenceInformation to a Telephony Services System;” and

[0010] U.S. patent application Ser. Nos. ______ (Docket No. CDR-02-020),filed concurrently herewith and entitled “Telephony Services System withInstant Communications Enhancements.”

[0011] The present application relates to subject matter disclosed inU.S. Pat. No. 6,351,464. The present application also relates to subjectmatter described in Internet Engineering Task Force document RFC 2778,“A Model for Presence and Instant Messaging” by Day, M., Rosenberg, J.and H. Sugano, February 2000.

BACKGROUND

[0012] 1. Technical Field

[0013] The present invention relates in general to data processing and,in particular, to permitting access to services through instantmessaging communications.

[0014] 2. Description of the Related Art

[0015] In traditional telephony, a variety of operator services havebeen available from telephone service providers. In general, operatorservices entail an agent of the service provider assisting a telephonycaller in establishing or conducting communications sessions. In somecases, this agent may be a human operator who converses with a caller toprovide assistance. The agent may also be an automated system thatresponds to a caller's voice or keypad inputs by providing assistance orby otherwise acting upon the caller's inputs.

[0016] One well-known example of an operator service is “directoryassistance” by which a caller may request and receive the telephonenumber of another party from a service provider agent. Operator servicesmay additionally be utilized to, on behalf of a caller, perform actssuch as call completion, establish multi-party conference calls, provideaccess to telephony services by callers employing calling cards oralternate billing arrangements (e.g., calling collect), provide relay orother services to special needs callers, etc.

[0017] In the case of directory assistance services, the caller desiresto initiate a telephone call to another party, but does not know thecorrect telephone number to dial to reach the party. In a conventionaldirectory assistance scenario, the caller first dials an operator (“0”)or a directory assistance number (“411” or Area Code+“555-1212”), andthe caller is connected to an agent. The caller then indicates to theagent which party they desire to reach. The agent consults a list ordatabase to locate a telephone number or other information relating tothe identified party and provides the information to the caller verballyor by computer-synthesized speech. The caller may simply record theinformation for future reference or may immediately seek to contact theparty by dialing the provided telephone number.

[0018] In many implementations, the agent may also offer the caller theoption to automatically complete the call to the other party as anextension of the directory assistance call, thus saving the caller fromhaving to record the telephone number provided by directory assistanceand then immediately re-enter the telephone number in a subsequent callattempt. Such directory assistance and call completion services areoften provided at a fee which the service provider may bill to thecaller or seek to have paid immediately, such as through a paytelephone.

[0019] More recently, sources of directory information and the like havebecome available on the Internet. A person needing contact informationfor another party may access a website via the Internet using a browserapplication and enter identifying information about a party. In order tofacilitate entry of the identifying information, a form is typicallypresented comprising entry fields for name (of a person or business),address, city, state, etc. so that the user initiating the inquiry canspecify whatever information is known about the party for which contactinformation is sought. The greater the specificity provided by therequester, the fewer candidate records will be returned by the website'ssearch engine.

[0020] Although many directory information services available on theInternet are provided free of charge, the information provided is oftenincomplete or outdated. Many of the databases underlying such websitesare not derived in a direct and timely manner from current informationused by the communications service providers in routing calls, but areinstead compiled indirectly from other sources. In the case where adirectory look-up website cannot resolve a given request or cannot findany records, it is ambiguous whether the request is inherentlyunserviceable or whether the website merely lacks the necessary data.Many such websites simply provide links to other similar sites that theuser may try.

[0021] Quite frequently, a person is using a computer to perform varioustasks when the need arises to obtain contact information for a givenparty. This contact information might be needed for immediatelyestablishing communications with the party, such as through a telephonecall. Alternatively, this contact information may be needed as part of atask on the computer, such as preparing an outgoing letter or a reportthat is to include the contact information. Naturally, the personengaged in such a task will want to use the computer to obtain thecontact information, particularly if the computer is coupled to theInternet and may access directory look-up websites as described above.

[0022] One advantage of employing this approach, rather than making atelephone call to a directory assistance agent, is that the desiredinformation is returned to the computer system in a textual format whichmay be readily copied and “pasted” into a word processing document,database or other application running on the computer system. Byreceiving and entering the information in entirely electronic form, theuser is saved considerable time and effort as compared to obtaining thedesired information from a directory assistance agent in audio formatand then manually entering the information into the computer system. Thereduction in time and effort is particularly significant when theinformation comprises lengthy data, such as a complete mailing addressand/or secondary contact information (e.g., mobile telephone number, faxnumber, e-mail address, website URL).

[0023] Another significant factor which motivates directory look-uponline is the prevalence of “dial-up” modem connections to the Internet.If a user has access to only a single telephone line and the user isalready utilizing the telephone line to connect to the Internet, it isburdensome for the user to “drop” the modem connection to the Internetand place a conventional telephone call to obtain directory assistanceservices. Furthermore, online directory information may be free ofcharge or less costly than calling a directory assistance operator.

SUMMARY

[0024] In recognition of the foregoing, the present invention providesmethods, systems and program products that provide access to services,such as directory assistance, through a textual instant communications,such as an instant messaging or so-called “chat” session. An entity suchas a commercial service provider may provide information or mayotherwise be able to provide services through an instant messaging orshort messaging interaction. Using a chat client application of sometype, parties needing such services or information establish instantcommunications with the service providing entity. The service providingentity is preferably identified to such parties using a particular“screen name” identifier. A “screen name” is one term applied to anidentifier by which a party is known in the context of a particularmessaging service or messaging system. The service providing entity mayprovide one or more respondents or “chat agents” to handle and respondto requests from parties accessing the service.

[0025] In accordance with the present invention, access to services overa network is provided via a chat session. An entity, such as acommercial service provider having access to information, provides amessage response system comprising one or more chat agents capable ofresponding to requests from chat clients. A chat agent may be ahuman-operated messaging station or an automated respondent actingthrough a messaging station or messaging client interface.

[0026] In accordance with a preferred embodiment, the service providermay simultaneously communicate with, and fulfill requests for, manydifferent parties even though the same screen name for the serviceprovider may be known to and used by many parties substantiallysimultaneously. In accordance with a novel aspect of some embodiments ofthe present invention, volumes of incoming requests may be distributedamong a plurality of chat respondents representing the service providerand may be properly dealt with on an individual basis, even though allinbound requests may be addressed to the same screen name. This behavioris achieved by a new and useful approach to routing messagingcommunications, such as to a respondent messaging station, based on theoriginator's identity or screen name rather than based upon therecipient address specified in the messaging communications.

[0027] According to a method described herein, a chat agent gatewayindicates its presence to an instant messaging presence service toinform chat clients of its availability to receive requests for service.In response to the agent gateway receiving a request by a chat clientfor services via a chat session, the chat agent gateway forwards therequest to a station within a chat-based services system. The stationthen provides the requested services, and the chat agent gatewaycommunicates information regarding the requested services to the chatclient in the chat session.

[0028] In accordance with some embodiments of the present invention, achat-accessible service system offers the ability for a requestor usinga chat client to have a call to another party completed upon demand viathe service system.

[0029] In accordance with some embodiments of the present invention, achat accessible service system may establish communications between achat client and another party through a computer telephony connection, avoice-enabled chat connection or a translatedtext-chat-to-telephone-voice connection.

[0030] An exemplary embodiment of the present invention includes amethod for controlling usage of a service providing system. The methodcomprising receiving indication that a first party, via an instantcommunications client communicating to the service providing system in afirst communications session, is requesting that the service providingsystem perform a service, responsive to the indication, determining ausage charge to be assessed for the performing the service, determiningwhether payment can be obtained for the usage charge pertaining to theperforming the service, and conditionally causing the service providingsystem to perform the service responsive to whether payment can beobtained for the usage charge.

[0031] Another exemplary embodiment of the present invention includes amethod of assessing charges for usage of a service providing system. Themethod comprising receiving indication that a first party, via aninstant communications client communicating to the service providingsystem in a first communications session, is requesting that the serviceproviding system perform a service, and responsive to the indication,determining a usage charge to be assessed for the performing theservice.

[0032] Another exemplary embodiment of the present invention includes amethod of controlling usage of a service providing system. The methodcomprising receiving indication that a first party is attempting toaccess the service providing system using an instant communicationsclient, determining a usage charge to be assessed for the first partyaccessing the communications service, determining whether payment can beobtained for the usage charge pertaining to the first party accessingthe service providing system, and causing the service providing systemto conditionally allow access by the first party responsive to whetherpayment can be obtained for the usage charge.

[0033] Another exemplary embodiment of the present invention includes amethod of assessing charges for usage of a service providing system. Themethod comprising receiving indication that a first party is accessingthe service providing system using an instant communications client, andresponsive to the indication, determining a usage charge to be assessedfor the accessing the communications service.

[0034] Another exemplary embodiment of the present invention includes asystem for controlling usage of a service providing system. The systemcomprising means for receiving indication that a first party, via aninstant communications client communicating to the service providingsystem in a first communications session, is requesting that the serviceproviding system perform a service, means for determining, responsive tothe indication, a usage charge to be assessed for the performing theservice, means for determining whether payment can be obtained for theusage charge pertaining to the performing the service, and means forconditionally causing the service providing system to perform theservice responsive to whether payment can be obtained for the usagecharge.

[0035] Another exemplary embodiment of the present invention includes asystem for assessing charges for usage of a service providing system.The system comprising means for receiving indication that a first party,via an instant communications client communicating to the serviceproviding system in a first communications session, is requesting thatthe service providing system perform a service, and means fordetermining, responsive to the indication, a usage charge to be assessedfor the performing the service.

[0036] Another exemplary embodiment of the present invention includes asystem for controlling usage of a service providing system. The systemcomprising means for receiving indication that a first party isattempting to access the service providing system using an instantcommunications client, means for determining a usage charge to beassessed for the first party accessing the communications service, meansfor determining whether payment can be obtained for the usage chargepertaining to the first party accessing the service providing system,and means for causing the service providing system to conditionallyallow access by the first party responsive to whether payment can beobtained for the usage charge.

[0037] Another exemplary embodiment of the present invention includes asystem for assessing charges for usage of a service providing system.The system comprising means for receiving indication that a first partyis accessing the service providing system using an instantcommunications client, and means for determining, responsive to theindication, a usage charge to be assessed for the accessing thecommunications service.

[0038] Another exemplary embodiment of the present invention includes acomputer-readable medium comprising instructions which, when executed bya processor, implement a method for controlling usage of a serviceproviding system. The method comprising receiving indication that afirst party, via an instant communications client communicating to theservice providing system in a first communications session, isrequesting that the service providing system perform a service,responsive to the indication, determining a usage charge to be assessedfor the performing the service, determining whether payment can beobtained for the usage charge pertaining to the performing the service,and conditionally causing the service providing system to perform theservice responsive to whether payment can be obtained for the usagecharge.

[0039] Another exemplary embodiment of the present invention includes acomputer-readable medium comprising instructions which, when executed bya processor, implement a method of assessing charges for usage of aservice providing system. The method comprising receiving indicationthat a first party, via an instant communications client communicatingto the service providing system in a first communications session, isrequesting that the service providing system perform a service, andresponsive to the indication, determining a usage charge to be assessedfor the performing the service.

[0040] Another exemplary embodiment of the present invention includes acomputer-readable medium comprising instructions which, when executed bya processor, implement a method of controlling usage of a serviceproviding system. The method comprising receiving indication that afirst party is attempting to access the service providing system usingan instant communications client, determining a usage charge to beassessed for the first party accessing the communications service,determining whether payment can be obtained for the usage chargepertaining to the first party accessing the service providing system,and causing the service providing system to conditionally allow accessby the first party responsive to whether payment can be obtained for theusage charge.

[0041] Another exemplary embodiment of the present invention includes acomputer-readable medium comprising instructions which, when executed bya processor, implement a method of assessing charges for usage of aservice providing system. The method comprising receiving indicationthat a first party is accessing the service providing system using aninstant communications client, and responsive to the indication,determining a usage charge to be assessed for the accessing thecommunications service.

[0042] A method for assessing charges for usage of a service providingsystem. The method comprising receiving indication that a first party isaccessing the service providing system using an instant communicationsclient, receiving first information pertaining to an identity of thefirst party, receiving second information pertaining to an identity of amessaging service by which the first party is accessing the serviceproviding system, responsive at least to a combination of the firstinformation and the second information, identifying an account to whichcharges are to be applied, and performing at least one of applying thecharges to the account and determining whether the account will bear thecharges.

BRIEF DESCRIPTION OF THE DRAWINGS

[0043] The novel features believed characteristic of the invention areset forth in the appended claims. The invention itself however, as wellas a preferred mode of use, further objects and advantages thereof, willbest be understood by reference to the following detailed description ofan illustrative embodiment when read in conjunction with theaccompanying drawings, wherein:

[0044]FIG. 1 illustrates a high level block diagram of an embodiment ofa communication system that supports chat-based access to services inaccordance with the present invention;

[0045]FIG. 2 depicts an exemplary graphical user interface of a chatclient in accordance with one embodiment of the present invention;

[0046]FIG. 3 illustrates a more detailed depiction of the network andservice provider system of the communication system shown in FIG. 1;

[0047]FIG. 4 depicts an exemplary method by which automated andhuman-assisted stations within the service provider system of FIG. 3register presence of a chat-based service screen name with an instantmessaging service;

[0048]FIG. 5A illustrates an exemplary embodiment of a registrationtable utilized by the session routing process depicted in FIG. 4 totrack human-assisted and automated stations registered with the sessionrouting process and their respective capabilities;

[0049]FIG. 5B illustrates an exemplary embodiment of a routing tableutilized by the session routing process depicted in FIG. 4 to routerequests for services and responses to such requests between the agentgateways and the human-assisted and automated stations;

[0050]FIG. 6 depicts an exemplary scenario by which a chat clientaccesses chat-based services in accordance with the present invention;

[0051]FIG. 7 is a high level logical flowchart of an exemplary method bywhich the session routing process illustrated in FIG. 6 routescommunication between stations within the chat-based service system andagent gateways in accordance with the present invention;

[0052] FIGS. 8A-8B are call flow diagrams of an exemplary sequence ofcommunications by which a chat client accesses chat-based callcompletion services in accordance with the present invention;

[0053]FIG. 9 is a high-level step diagram of an exemplary embodiment ofa billing system in accordance with the present invention; and

[0054]FIG. 10 depicts a computer system that can be used to implement anembodiment of the present invention or to implement various elementsthereof.

[0055] In the figures, like reference numbers generally indicateidentical, functionally similar and/or structurally similar elements.

DETAILED DESCRIPTION

[0056] Systems, methods and computer-implemented processes for callprocessing are described. In the following description, for the purposesof explanation, numerous specific details are set forth in order toprovide a thorough understanding of the present invention. However, itwill be apparent to one skilled in the art that the present inventionmay be practiced without these specific details or with an alternativeequivalent arrangement. In other instances, well-known structures anddevices are shown in block diagram form in order to avoid unnecessarilyobscuring the present invention.

[0057] The present invention achieves advantages in that parties areable to access services via instant communications, such as by instantmessaging. In accordance with a preferred embodiment, the presentinvention further provides that one type of service accessible viainstant communications involves parties being able to initiate othercommunications sessions, even those involving telephone networks. In oneexample application of this capability, a first party using an instantmessaging client may establish communications with a second party who isaccessible by telephone.

[0058] One form of communications popularized in recent years iselectronic messaging communications. Messaging communications aregenerally characterized by a communicating party determining a finiteamount of information to be sent as a message. Messaging communicationstypically involve one or more discrete messages sent by a party to oneor more other parties. A message may comprise text, data or digitizedaudio or video information, for example, or even combinations of these.Electronic mail (e-mail) and text paging are forms of electronicmessaging communications.

[0059] In contrast to messaging, other forms of communications, such astelephony, enable a period of essentially continuous (and usually fullduplex) two-way conversation between parties in the context of a singlesession or connection. As in the example of telephony, the partiesgenerally only determine the time duration of the overall session andare not engaged in composing and sending messages of a specific size.

[0060] ‘Instant messaging’ refers to messaging communications whereinthe delays in readying the message for delivery (such as addressing to arecipient), transporting the message, and bringing the message to theattention of the recipient are sufficiently short or imperceptible thatparties may communicate in a nearly conversational manner. In the caseof a form of instant communications known as ‘text chat’ sessions, theconversational pace is often limited mainly by the time it takes forchat participants to compose and finalize messages to be transmitted.The acceptable margin of delay in message transmission may be on adifferent scale than for the end-to-end delay margins in telephonecommunications, but the objectionable impact of excess delay onperceived fluency of communications is a common detriment to both modesof communication.

[0061] Instant messaging may be considered a type of instantcommunications. Some popular applications that are commonly used forinstant messaging include, for example, America Online (AOL) InstantMessenger™ (hereinafter AIM), Yahoo!® Messenger and MSN® Messenger. Thepresent invention is not limited to embodiments using these specificapplications, technologies or services.

[0062] In one sense, ‘instant communications’ may refer to a style ofcommunicating wherein the communicating parties experience substantiallyimmediate establishment of communications on a per-message basis. In thecontext of instant messaging, a selection made be initially made by afirst party to open a dialog with a specific second party. Thereafter,the parties may spontaneously generate and send messages without havingto address each message or perform other steps preparatory to thesending of each message.

[0063] Furthermore, the term “instant communications” may be applicablein the sense of there being no user-perceivable session establishment aseach message is sent, even though each message is in fact sent as abrief burst of information transmission activity through the network. Atsome level, each transmission burst may be handled as a separatecommunications session.

[0064] The user does not have to engage in per-message establishment ofa session, if applicable, nor is any significant delay perceived by theuser arising from automatic session initiation that might be brieflyperformed at some level through, for example, a TCP/IP connection. Inone regard, then, the instancy of instant communications may be viewedas relating to the performance of session initiation and addressingwithout burdening the user and with sufficiently little delay as to beminimally perceptible or inconsequential to the user.

[0065] Instant communications may also be ‘instant’ in the sense that,when a message is composed and sent, it is fairly immediately routed toa destination, such as an instant messaging client. As a message iscomposed and sent, the sending party may be provided with someindication that the destination is ready to receive messages or at leasthas recently claimed to be open to receiving messages. This forehandknowledge may be provided by presence technology described below. Exceptfor very brief queueing in data buffers in routers and transmissionequipment in the course of transmission, the message is notsubstantially stored anywhere in the network for the purpose of beingdelivered to the recipient at a later time or at a time determined bythe recipient.

[0066] This instantaneous handling of messages may be contrasted to atypical e-mail system, wherein a message is often stored in a repositoryfor a significant time period waiting for the recipient mail clientapplication to poll for new mail items to download from the mail server.An electronic mail message may be stored on an e-mail server for a timeduration of less than a minute, for several hours, for several days oreven indefinitely.

[0067] After polling a mail server and downloading any new messages, ane-mail client typically terminates communication with the mail serveruntil a future time when the mail client again polls the server. Thepolling may be triggered by a time interval setting or by manual requestfrom a user. Between such polling times, the mail server or servicemerely stores messages.

[0068] Another characteristic typical of instant communications isimmediate presentation of the message content to the receiving partyupon arrival of the message. A message received by an instant messagingclient is immediately presented, such as in a window in a graphical userinterface on a display device, or otherwise made known to the receivingparty. The user is not required to take any action to receive orinitiate delivery of each message that arrives. Message reception andpresentation is usually automatic and immediate.

[0069] In contrast to electronic mail clients, it is generallyunnecessary in instant communications for the user to poll a servereither manually or automatically at certain time intervals, nor is theuser require to take additional action, as there is with “opening” ane-mail, to have the content displayed. Furthermore, unlike an e-mail‘inbox’ stored as a file in a non-volatile storage device, there istypically no systematic storing of the received message at the receivingend for the purpose of presenting the message to the recipient for thefirst time at a time substantially later than it was received.

[0070] Instant communications may refer to any communications involvingan instant communications client, such as an instant messaging clientapplication running on a computer. An instant communications client maybe an imbedded application as embodied in a personal digital assistant(PDA), mobile phone or other portable device. An instant communicationsclient may support instant messaging, such as text-based chat. Aninstant communications client may also support audio communicationshaving little enough delay to enable interaction among communicatingparties in a nearly conversational style. As a mode of communication,instant communications may be contrasted to toll-quality telephony,which provides full-duplex communications, with any transmission delaybeing mostly attributable to propagation (at electronic speeds) and tovocoder signal processing delays. Users of text messaging andvoice-enabled instant communications clients in conjunction with datatransport networks may experience greater delays or less reliabletransport than by a telephony mode of communication. Nevertheless, manyusers find instant communications to be adequate, more cost effective,and even preferable to more traditional telephony in some circumstances.The ‘instant’ quality of such communications achieves much more of areal-time interactive nature than paging or e-mail modes ofcommunication.

[0071] In many implementations, instant communications are complementedby “presence” technology—a mechanism through which parties receivetimely information about the availability of others to communicate. Apresence service acts as an intermediary through which a party mayexpress availability to communicate and may be informed about theavailability of other parties. A description of presence technology maybe found in document RFC 2778 of the Internet Engineering Task Force(IETF).

[0072] Presence technology facilitates instant messaging and supportsthe perceived instantaneous nature thereof. Indeed, one of the keymotivations for applying presence techniques in the context of instantmessaging is that, as described above, there is typically very littlestorage of messages for later delivery to a recipient. Consequently, itis often useful for a sending party to know, before assembling andsending messages, whether the messages are likely to be received orpresented to the recipient in a timely manner. In the experience of thesending party, presence technology can be a factor affecting one'sexpectation or perception of instancy. To party intending to send amessage, presence technology attempts to provide awareness of theavailability status of the intended recipient (or at least the readinessstate of the recipient's instant communications client) beforecommunications are sent to the recipient. When a sending party doesobserve that a recipient is present via presence technology, the partymay then confidently send communications and reasonably expect that thetransmitting and presenting the message to the recipient will beimmediate or nearly instantaneous. Presence differs from, for example,the placing of a collect call in that presence information for a partyis often maintained before the time it is actually needed in the contextof someone communicating with party.

[0073] In general, presence technology is intended to provide anup-to-date indication of the presence of other parties. Of course,availability information for a party may be subject to change and to theparty's desire to accept communications. The timeliness of availabilityinformation may also vary depending on implementation. A prospectivesender of communications usually does not need not perform additionalactions to ascertain presence of other parties at any point in time,such as immediately before sending a message. Instead, as in manyinstant messaging client applications, presence state of a group ofaddressees is constantly updated and indicated on a user interface. Thisself-updating aspect of some presence implementations further lends tothe instancy and spontaneity with which users may initiate and carry oninstant communications.

[0074] A communicating party may engage in instant communications usingan instant communications client, such as an instant messaging clientapplication running on a computer. An instant communications client maybe an imbedded application as embodied in a personal digital assistant(PDA), mobile phone or other portable device. An instant communicationsclient may support instant messaging, such as text-based chat. Aninstant communications client may also support audio communicationshaving little enough delay to enable interaction among communicatingparties in a nearly conversational style. As a mode of communication,instant communications may be contrasted to toll-quality telephony,which provides full-duplex communications with any transmission delaybeing mostly attributable to propagation (at electronic speeds) and tovocoder signal processing delays. Users of text messaging andvoice-enabled instant communications clients in conjunction with datatransport networks may experience greater delays or less reliabletransport than by a telephony mode of communication. Nevertheless, manyusers find instant communications to be adequate, more cost effective,and even preferable to more traditional telephony in some circumstances.The ‘instant’ quality of such communications achieves much more of areal-time interactive nature than paging or e-mail modes ofcommunication.

[0075] In various embodiments, the present invention advantageouslyemploys instant communications and presence technology, as describedabove, to provide services to parties who are using instantcommunications clients as will now be described in conjunction with FIG.1.

[0076] With reference now to the figures, and in particular withreference to FIG. 1, there is illustrated a high level block diagram ofan embodiment of a communication system that provides chat-basedservices in accordance with the present invention. As illustrated,communication system 10 includes a data processing system 12 coupled bya communications network, network 20, to a service provider system 30that provides chat-based services. Data processing system 12 maycomprise any of a desktop personal computer system, laptop or handheldcomputer system, personal digital assistant (PDA), mobile telephone,television set-top box, or other existing or later known or developedelectronic device that supports communication with network 20. As iswell understood to those of ordinary skill in computing, in addition tooperating system software(not explicitly shown), data processing system12 may execute chat client 14 as an application. Chat client 14 is aform of instant communications client that supports real-time orsubstantially real-time instant messaging communication by a principal(i.e., human user, software program or combination of human user andsoftware program) associated with data processing system 12.

[0077] Using chat client 14, the principal may communicate with one ormore other principals accessible through network 20. (Note that theprincipals who may use chat client 14, IP telephone 92 or conventionaltelephone 62 as communication appliances are not separately depicted inFIG. 1.) Chat client 14 may be implemented by or based upon well knowninstant messaging and/or chat client programs, such known America Online(AOL) Instant Messenger™ (hereinafter AIM), Yahoo!® Messenger, or MSN®Messenger. Alternatively, chat client 14 and instant messaging server 22may represent proprietary, private or semi-private messaging systemswhich, for example, are operated within a business enterprise ororganization. Chat client 14 is shown to include a number of modules 16,17, 18 and 19 that enable communication via a variety of media includingtext, voice, images and video, respectively. Each module may support,for example, composition, transmission, encryption, encoding, andcompression of outbound communications and reception, decompression,decoding, decryption and presentation of inbound communications for agiven type of media.

[0078] There are several techniques for operating an instant messagingsystem. In accordance with one technique, a intermediary server, such asa presence server, commonly accessible to a population of users helpsparties become aware of each other and establish communications. Once aset of parties have become aware of each others' network addresses, thenthe subsequent message traffic between the parties bypasses the commonserver and passes directly between the chat clients in a peer-to-peerfashion. In accordance with another technique, chat clients establishcontact with one another and carry on communications without requiringan intermediary server at all. In accordance with yet another technique,a commonly accessible server not only helps establish contact amongparties but also is involved in all subsequent communications. In thiscase, the communicating parties need not be aware of each others networkaddresses, but rather only the “screen names” or handles by which theyare each uniquely identified in the server.

[0079] These alternatives are represented in FIG. 1 by threeconnections. Connections may be logical or physical in practice andachieve an coupling or communicative interface between elements.Connections may be implemented as interprocess communications amongsoftware processes. Connections may also refer to, or be implemented as,communications between points served by a data transport network, evenif the data transport network employs a so-called ‘connectionless’technique of routing information within. Connection 23 between chatclient 14 and instant messaging (IM) service 22 is the means by whichchat client 14 may report its availability to communicate and to beinformed of the availability of other parties to communicate. Connection25 performs a similar purpose between service provider system 30 and IMservice 22. In addition to carrying presence information, connections 23and 25 may also carry chat communications between chat client 14 andservice provider system 30, using IM service 22 as an intermediary inthe chat messages.

[0080] Alternatively, connections 23 and 25 may be used solely forpresence indication and another connection 24 may be formed throughnetwork 20 for carrying communications directly between chat client 14and service provider system 30 without involving IM service 22.

[0081] Chat client 14 of FIG. 1 may present a user interface similar towhat is depicted in FIG. 2. Referring briefly to FIG. 2 beforecontinuing the discussion of FIG. 1, there is illustrated an exemplarygraphical user interface that may be presented by chat client 14 withina display device of data processing system 12 in accordance with oneembodiment of the present invention. As shown, the graphical userinterface of chat client 14 includes a messenger window 100 having amenu bar 102, a toolbar 104 and a display frame 106.

[0082] Within display frame 106, a friends list 120 is displayed thatcontains identifiers of parties that may be contacted by chat client 14via instant messaging. Friends list 120 (also known as a buddy list orcontact list) may include both default identifiers automatically placedwithin friends list 120 by chat client 14 and user-supplied identifiersadded to friends list 120 by a user of chat client 14 through a utilityinvoked by selection of add button 116 within toolbar 104. At any givenmoment, the listing or visual appearance of each contact in friends list120 may be affected by presence information received from a presenceserver. In this manner, a principal using chat client 14 may readilydetermine which of the contacts is available for communicating.

[0083] In the exemplary scenario, friends list 120 is organized in atree structure containing both individual identifiers 122 identifyingindividual parties (e.g., “Dave”) and grouped identifiers 124 a-124 n,which are all related to a particular party (i.e., “WCom Services”). Inthis example, grouped identifiers 124 each represent a differentchat-accessible service offering (e.g., call-related services andconcierge service) of service provider system 30, as detailed below. Onetype of identifier that may be presented in friends list 120 or madeaccessible via other user interface elements may relate to apersonalized service. By selecting this identifier in the userinterface, a principal using chat client 14 may establish readilycommunications with a service providing entity that providespersonalized services. For example, the service provider may have aspecific respondent or agent principal assigned to provide services tothe particular principal and to be familiar with how to provideservices. When the principal selects the identifier corresponding to thepersonalized service, the principal is connected to the respondentassigned to serving them. This activity may also be personalized in thesense that information pertaining to the principal, such as preferencesor knowledge from previous sessions, may be maintained by the serviceprovider and applied to serving the principal.

[0084] To communicate instant messages with one of the individualparties in friends list 120 or one of the chat-accessible services, theuser typically selects one of the identifiers 122, 124 a-n withinfriends list 120 and then selects message button 110. As describedfurther below, chat client 14 may then present an instant messagingwindow through which text instant messages can be exchanged in real timewith one or more other parties. Of course, for other types ofcommunication, such as audio or video communications, chat client 14 mayprovide other relevant user interface elements or controls.

[0085] Alternatively, if the user of chat client 14 desires to establishor join a chat room (i.e., typically a loosely topical forum in which alarge number of users may participate), the user selects chat button 112on toolbar 104 to invoke display by chat client 14 of a chat windowthrough which the user can select a chat room and send and receive textmessages. If the user wants to initiate a telephony call, the user canselect call button 114 to invoke display of a telephony interfacethrough which a voice-over-Internet Protocol (VoIP) call may beestablished. Any of the additional interfaces displayed by chat client14 (e.g., in response to selection of buttons 110-114) may also includecontrols that permit a user to request specific chat-accessibleservices.

[0086] Such controls may be added optionally by the user or may beincluded as part of the messenger window 100 application. It is alsocontemplated, as will be readily understood by those of ordinary skill,that a convenient means for establishing communications tochat-accessible services may be implemented as an activatable controlthat may be added to other applications such as e-mail clients or wordprocessing applications or may appear as an icon on a workstation's“desktop” screen. Activating such a control may cause a chat clientwindow to appear and automatically begin a session with a specificscreen name corresponding to a particular chat-accessible service. Forexample, a button may be added to the toolbar of an e-mail applicationwhich, when activated, instantly puts the user in contact with aservice, such as a directory information service, through a chatsession.

[0087] Referring now back to FIG. 1 and resuming the discussion thereof,network 20 may comprise one or more local area networks (LANs) or widearea networks (WANs), for example, the Internet, linked by conventionalbridges, routers or the like. Alternatively or in addition, network 20may include wireless networks, switched networks, and other forms ofcommon carrier transmission lines and equipment that can link remotedata processing systems, such as the data processing system 12 toservice provider system 30.

[0088] Service provider system 30 is coupled to network 20 to provideservices to principals communicating with service provider system 30over network 20 using chat communications. Service provider system 30may or may not be affiliated with the same network service provider orInternet Service Provider (ISP), if applicable, through which dataprocessing system 12 accesses network 20. Service provider system 30 canbe implemented, for example, by one or more computer systems running oneor more software modules or processes. Service provider system 30 isreceptive to communications, such as requests, from parties who accessthe system via instant communications. In a sense, service providersystem 30 may be referred to as a ‘service’. Users may be said tocontact the service and service providers may be said to operate theservice, referring in both cases to the availability of service providersystem 30 in a useful capacity.

[0089] As described further below, the services provided to principalsby service provider system 30 may include, without limitation, directoryassistance, call completion, conference call establishment, customersupport, concierge services, and other services traditionally providedby telephony operator service providers. The services may also includeservices not traditionally offered by telephony operator serviceproviders, including, without limitation, video conferenceestablishment, chat or email address assistance, or any other servicespresently known or contemplated or developed in the future. Because suchservices provide significant value, service provider 30 may be furthercoupled to a billing system 40 that determines charges associated withthe use of the services (e.g., to a principal associated with dataprocessing system 12, a third party, a prepaid calling card, etc.).

[0090] It is noteworthy that aspects of the present invention providefor a party requesting services to author such requests in a “free-form”manner, that is, using human-readable text in a natural style akin toconversational language. The requestor may not be required to composetextual requests obeying a certain syntax. Access to services affordedin accordance with embodiments of the present invention may provide anatural language interface to many services that have heretofore neverprovided natural language interfaces nor perhaps human-readableinterfaces of any type. In accordance with exemplary embodimentspresently described, a natural language dialog carried out through amessaging communications session may be employed to invoke a separatesecond communications session that may be telephonic or non-messaging innature. In a novel fashion, a textual chat session may be employed toestablish another communications session wherein at least one party isable to communicate without discretely composing messages.

[0091] As will be further described later in conjunction with FIG. 3,service provider system 30 may support the provision of bothhuman-assisted (or “operator”) chat messaging stations 142 making uphuman-assisted chat services system 34 and automated chat messagingstations 140 making up automated chat services system 36. Either or bothof automated chat services system 36 and human-assisted chat servicessystem 34 may be included in a chat-based services system 35. Thus,chat-based services system 35 comprises a platform of messagingrespondents and may support the capability of handling each session witha client data processing system 12 through automated or humaninteraction or a combination thereof.

[0092] It will be appreciated by those of ordinary skill in the relevantart that any of the chat services systems 34, 35 and 36 may also bereferred to as corresponding functions, services or processes and may beimplemented in a variety of ways involving, for example, workstationhardware, network connections and software-implemented processes.

[0093] Furthermore, as will be described further below in conjunctionwith FIG. 3, service provider system 30 preferably includes a sessionrouter 32 that directs chat sessions requesting services to respondentstations comprising either or both of human-assisted messaging stations142 and automated messaging stations 140, as is required or advantageousto provide the requested service.

[0094] Still referring to FIG. 1, communication system 10 may furtherinclude a gateway system 50 coupled to network 20 or service providersystem 30 to support the completion of calls between data processingsystem 12 and stations (e.g., telephone 62) within wireless or wiredtelephony networks, such as the Public Switched Telephone Network (PSTN)60. PSTN 60 may comprise telephony switching equipment and may actuallyrepresent any form of telephone network, such as a private branchexchange (PBX), a virtual private network (VPN) or other type of networkas will be appreciated by those of ordinary skill in the art.

[0095] As shown, gateway system 50 logically may include two elements:an intelligent chat gateway 52 that serves as an interface to serviceprovider system 30 and a voice-over-Internet Protocol (VoIP) gateway 54that serves as a telephony network interface. In general, VoIP gateway54 is a form of packet telephony gateway similar to those well known inthe art and typified by a model AS5300 gateway manufactured by CiscoSystems, Inc. However, in accordance with a novel aspect of a preferredembodiment of the present invention, such gateway function is empoweredto originate communications in disparate networks rather than merelypass along signaling and bearer communications between networks. VoIPgateway 54 represents a broader class of packet telephony orvoice-over-packet(VoP) gateways, meaning that it is possible to employpacket data transport networks whether or not the particular InternetProtocol is used. Via connection 59 VoIP gateway 54 interfaces to atelephone network, such as PSTN 60. Along connections 75, 78, 82, 84 and85, VoIP gateway 54 may present much the same type of packet telephonyinterface as is commonly employed in communicating with IP telephones,such as IP telephone 92.

[0096] Service provider system 30 may communicate along connection 51 tointelligent chat gateway 52 to cause gateway 50 to make connections witheither or both of network 20 and PSTN 60. Communication along connection51 may comprise contact information pertaining to a messaging clientthat is used by the gateway to establish communications with themessaging client. In response to requests from service provider system30, intelligent chat gateway may also communicate with other elements,such as intelligent media translator (IMT) 70 to coordinate desiredconnections among parties.

[0097] Intelligent chat gateway 52 may issue instructions or sendinformation along connection 53 to VoIP gateway 54 to cause, or tofacilitate the formation of, communication pathways through the latter.In practice, connections 51 and 53 may each be a data path throughnetwork 20, perhaps secured by encryption, firewalling, IPsec practices,or other measures. With respect to service provider system 30,connection 51 represents a network control interface by which one ormore communications networks may be controlled, such as through gateway50.

[0098] Intelligent chat gateway 52, in conjunction with other elementssuch as service provider system 30, may implement a method for managingmessaging communications through a gateway, the method involvingreceiving indication that communications are to be established throughthe gateway and then causing the gateway to engage, for example, incommunications involving a chat client or involving instant messagingcommunications. Various elements in FIG. 1 may also cooperate toimplement a method whereby gateway 50, in effect via messaging interfacefunction 55, participates in instant messaging communications orcommunications with instant messaging clients or servers and then someaspect of the communications through the gateway, such as formation ofconnections from PSTN 60 to network 20, are affected by the instantmessaging activity. Such methods may be implemented as computer programproducts for execution by computer processing devices and may beconveyed via computer-readable medium or by transmission of executableinstructions. Thus, in some implementations, messaging interfacefunction 55 may endow intelligent chat gateway 52, or gateway 50 ingeneral, with the ability to interact with instant communicationssystems, such as IM service 22, in establishing instant communicationssessions involving gateway 50 or IMT 70.

[0099] The integration of intelligent chat gateway 52 into gateway 50 asshown in FIG. 1 is but one contemplated embodiment. In variousembodiments, intelligent chat gateway 52 may be implemented in hardwareand/or software in combination with either or both of service providersystem 30 and VoIP gateway 54 or as a standalone system. For example,intelligent chat gateway 52 may be implemented as a software programexecuting on one or more computer systems forming a portion of serviceprovider system 30; alternatively, intelligent chat gateway 52 may beimplemented as a hardware adapter for and/or a software module executedby VoIP gateway 54. Gateway 50 may be viewed as a network element in alarger communications network or system comprising, for example, PSTN 60and network 20. It is contemplated that service providing system 30 mayexercise control or carry out coordination of communications through oneor more communications systems through a control interface by actingupon network elements other than a gateway such as gateway 50.

[0100] The composite gateway 50 may be more generally characterized as anovel form of network element having at least one messagingcommunications interface by which at least one action of the networkelement in a communications system is affected by the messagingcommunications. As part of its function in the communications system,the network element may carry or control telephony traffic or otherforms of non-messaging traffic. In accordance with the presentteachings, many aspects of the typical functioning of network elementsmay be controlled by messaging communications thereto. Some aspects ofthe transporting, routing and processing of communications trafficperformed by network elements in the communications system that may becontrolled or affected by messaging communications, which may evenoriginate as natural language requests submitted via chat messaging, mayinclude, for example, switching, routing, ingress, egress, multiplexing,demultiplexing, encoding, decoding, monitoring, translating,transforming, echo cancelling and other types of processing applied totraffic.

[0101] In accordance with one exemplary embodiment, intelligent chatgateway (ICG) 52 may be implemented as an adapter device to facilitatecommunications among messaging elements, such as chat client 14, andgateway 50 via a gateway control interface, such as along connection 53.Connection 53 represents a gateway control interface in that it is apoint through which, for example, control information passes to the VoIPgateway 54 to cause it to establish connections. In FIG. 1, intelligentchat gateway 52 is shown to comprise messaging interface function 55,giving gateway 50 the ability to interface with IM service 22 in therole of a messaging participant, at least to some extent. Via connection86, gateway 50 may perform communications with IM service 22 in thecourse of establishing communications involving any of connections 82,84, 85, 76, 77, 75, and 78, as will be described below. Via messaginginterface function 55, intelligent chat gateway 52 may coordinate withIM service 22 in establishing communications involving chat client 14.Such communications may be responsive to communications between serviceprovider system 30 and ICG 52. For example, service provider system 30may provide indication to ICG 52 that communications are to beestablished involving chat client 14. Service provider system 30 mayalso provide further information pertaining to said communications ormay in fact issue commands to ICG 52 ultimately resulting incommunications between ICG 52 and chat client 14 or between VoIP gateway54 and chat client 14.

[0102] In response to requests by service provider system 30, forexample, intelligent chat gateway 52 may cause VoIP gateway 54 to set upa call within PSTN 60 or establish a data path through network 20. Withrespect to ICG 52, connection 86 or connection 51 in conjunction withSPS 30 may be referred to as interfaces between ICG 52 and sources ofmessaging communications such as IM service 22 or chat client 14.

[0103] In order to provide a high quality voice connection, therequested calls are preferably completed through data network 20utilizing a voice-over-packet data stream such as a data streamcompliant with the Real-time Transport Protocol (RTP), which may rival atoll-quality telephone connection. The Real-time Transport Protocol isdescribed in the Internet Engineering Task Force document RFC 1889.Other techniques for accomplishing transport of voice data, such asasynchronous transfer mode (ATM), frame relay or other types oftransport may be readily applied to implementations of the presentinvention. While specific types of voice data transport are mentioned indescribing exemplary embodiments, the present invention is not limitedto using any particular transport.

[0104] In FIG. 1, this type of RTP connection is depicted by connections82 and 84 through network 20. As with all of the other “connections”shown in FIG. 1, connection 82 represents the passage of informationthrough network 20 in a general sense and may or may not be an actualconnection in the formal sense of connection-oriented or connectionlessstyles of data transport. Connection 82 may represent one or moreRTP-compliant pathways for data carrying voice signals among chat client14 and VoIP gateway 54. Connection 84 may represent the passage ofsignaling communications to coordinate the creation of traffic bearingconnection 82. Connection 84 may involve various call setup protocolssuch as elements of the ITU H.323 protocol suite or of the SessionInitiation Protocol(SIP) described in IETF document RFC 3261. Forexample, to establish a “call” with chat client 14, VoIP gateway 54might send a SIP “INVITE” message to chat client 14.

[0105] Alternatively, voice communications of lesser quality may beestablished if chat client 14 supports voice-enabled chat. Voice-enabledchat involves “best effort” transport of digitized voice signals throughthe data network and may involve delay, distortion, and interruptions inspeech. Such impairments may be acceptable to some users under manycircumstances. In FIG. 1, the creation of a voice-enabled chat sessionbetween chat client 14 and VoIP gateway 54 is represented by connection86 and connection 85. Connection 86 is optional and may serve to allowgateway 54 to advertise its presence and locate chat client 14, althoughthis may be unnecessary if contact information about chat client 14 isalready provided to VoIP gateway 54 in the course of signaling betweenservice provider system 30 and intelligent chat gateway 52 and alongconnections 51 and 53. Connection 86 may, in some implementations, alsoserve to carry ongoing communications among chat client 14 and VoIPgateway 54 using IM service 22 as an intermediary. It is also possiblein some implementations that connection 86 may not be needed for eitheror both of initiating and carrying on communications and that connection85 may serve as a direct connection for accomplishing either or both ofthese purposes.

[0106] A third alternative for communications among chat client 14 andVoIP gateway 54 involves translation between a textual interface at chatclient 14 and an audio interface at VoIP gateway 54. In someembodiments, communication system 10 may further include an informationtranslator, such as intelligent media translator 70, which may compriseone or both of a text-to-speech module 72 and a speech-to-text module 74to convert between the text chat employed by chat client 14 and speechsignals from telephones such as telephone 62. Text-to-speech module 72in FIG. 1 may represent a text-to-speech process or function and mayemploy DECtalk™ speech synthesis technology developed by DigitalEquipment Corporation, for example. Speech-to-text module 74 mayrepresent a speech-to-text process or function and may employ any of thewell known speech recognition technologies available from companies suchas Nuance, SpeechWorks, International Business Machines or DragonSystems, for example.

[0107] Intelligent media translator (IMT) 70 may comprise a port,connection or other interface for receiving speech signals, aspeech-to-text conversion process for converting the received speechsignals into corresponding textual information, and a port, connectionor other interface for providing the textual information ultimately to amessaging client, such as chat client 14. Alternatively or additionally,intelligent media translator 70 may comprise a port, connection or otherinterface for receiving textual information from a messaging client, atext-to-speech conversion process for converting the received textualinformation into corresponding speech signals, and a port, connection orother interface for providing the speech signals through acommunications medium, such as a telephone connection or RTP session.

[0108] For example, in FIG. 1, speech information from a caller usingtelephone 62 is carried through PSTN 60 and arrives as a conventionaltelephony signal at VoIP gateway 54. VoIP gateway 54 converts thereceived telephony media into a packetized data stream suitable fortransport through a packet data network, such as data transport network20. The packetized data stream may be directed to speech-to-text module74 to convert the received speech signals into a textual representation.This textual information may then be sent to a text chat interface ofchat client 14, perhaps in the form of a typical chat message, vianetwork 20 and perhaps involving IM service 22. From the standpoint ofchat client 14, IMT 70 may indeed ‘appear’ to be simply another chatclient. An optional instant messaging sender 79 a is depicted alongconnection 76 representing novel adaptation of the speech-to-text module74 to carry on instant communications with chat client 14, althoughthose of skill in the art will appreciate that such adaptation could beviewed as being a separate entity or being integrated into the functionof IMT 70 or speech-to-text conversion process 74. In any event, byvirtue of speech-to-text module 74, a user of chat client 14 willexperience chat messages representing speech utterances from the partywho is using telephone 62.

[0109] As used herein, “speech” may include spoken audio utterances aswell as non-spoken audio information such as audible tones, signals orsounds which have meaning or significance that is commonly recognized orat least mutually agreed upon among communicating parties. For example,sounds of laughter, musical tones, sound effects, DTMF signals or otherfamiliar audible sounds may communicate information or express thoughtsand emotions. Embodiments of the present invention may advantageouslyinclude various aspects of recognizing, interpreting, and producing suchsounds as a way of enhancing communications among parties. One practicalapplication of this might be allowing a user of the system thatgenerates textual information to interact with a voice processing systemthat is accustomed to receiving DTMF tones as input.

[0110] In the discussion of IMT 70, “text” or “textual information” mayrefer to, for example, symbols, characters and representations of visualor tactile elements which may or may not be actual words according to agiven written or spoken language. Thus, it should be understood thattext-to-speech module 72 and speech-to-text module 74 may operate toconvert to/from audible signals other than spoken words and to convertto/from data representing information other than words.

[0111] In the context of facilitating communications among one partyusing an instant communications client and another party using atelephonic connection, a novel aspect of the present teachings relatesto the manner in which symbols, known as “emoticons” and often appearingalong with textual information, may be used to convey emotions, thoughtsor impressions.

[0112] Because instant messaging sessions, especially chat sessions, mayuse a number of conventional abbreviations and so-called “emoticons”,the speech-to-text module 74 and text-to-speech module 72 may employspecial-purpose dictionaries (not shown ) that list the properequivalents for performing conversion among speech and text or symbols.For example, the commonly used “LOL” may be translated to the spokenequivalent of “laughing out loud” or to a sound effect that sounds likelaughter. Dictionaries may be customizable to suit the preferences ofcommunicating parties using system 10.

[0113] IMT 70 may act to recognize sounds and render, in the conversionperformed by speech to text module 74, textual or symbolicrepresentations that correspond to the sounds according to someconventional or desired mapping. For example, the spoken words “laughout loud” or even the detection of sounds of laughter from one party mayevoke a textual “LOL” or the like which is conveyed to the other partywho is using a textual interface. Further, to aid such detection orprovide more deliberate control for communicating parties, IMT 70 may bereceptive to verbal commands and command delimiters indicating that asound or spoken utterance is to be interpreted according to this featurerather than interpreted as literal words. For example, a party may say“insert” or “emoticon” followed by a desired expression such as “laugh”,“frown”, “puzzled”, etc. Upon recognizing such a keyword, IMT 70 willinterpret adjacent sounds and map the sounds detected into appropriatesymbols to be sent to another party.

[0114] In performing conversion, IMT 70 may be receptive to othersignals such as DTMF signals. While communicating through IMT 70, aparty using a telephone may be able to press digits on a dialing keypadto have specific emoticons or other symbols included in the textualoutput of the conversion module. For example, a “smiley face”representation may be sent to an instant communications user in responseto a telephony user entering a sequence such as “#8” or “486”, thelatter of which follows the shape of a smile on a standard 12-keytouch-tone keypad. DTMF tones may also be used to implement recognizablecommand delimiters in the context of the previous discussion.

[0115] In the course of converting speech and other audible signals intocorresponding symbols or text, IMT 70 may also perform translation amongdifferent spoken and written languages, for example, converting Englishtext to Spanish speech and vice-versa. The decision to invoke this typeof conversion may be performed dynamically in response to input from theparties as the communications is established. Alternatively, languagepreferences or compatibilities of one or both of the parties may beknown or maintained in a profile database or expressed by devices, suchas chat client 14, to affect how IMT 70 handles the communications.Language conversion may be provided as an option to users and, from acommercial standpoint, may be offered at an additional charge to offsetcosts or provide a profitable operation for a service provider.

[0116] As IMT 70 performs conversion, the manner in which each partyperceives the other party may be affected by the interaction through thetranslator. For example, a male party using an instant communicationsclient, such as chat client 14, will likely prefer that any synthesizedspeech representing him to a telephony user be rendered in a male voice.Other aspects of speech rendering, such as approximate speaker age,vocal characteristics, inflection and local dialect may be alterable orconfigurable and may be adjusted dynamically or according to, forexample, a profile maintained for a given user. In some implementations,a party might elect to use a speech persona that is whimsical or thatemulates the characteristics of a popular recognizable personality.Users may pay a premium to a service provider for the use of such customservices.

[0117] Another aspect of how one party “experiences” another partyrelates to the identifying of the parties to one another, particularlyto the party who is using an instant communications client of somenature. In conducting messaging communications, for example, one partywill see chat messages coming from another party, the chat messageshaving actually been composed by speech-to-text module 74 based uponspeech input from the other party. The apparent screen name of theremote party may be subject to control dynamically during theestablishing of communications or may be affected by a profile of userpreferences consulted by system 10 in the course of providing thecommunications service. According to various implementations, thepresentation of remote user identity to the messaging user may comprisea screen name, an image or iconic representation, a sound bite or otherpresentable element. The manner in which a given party wants to bepresented to a remote party may be the subject of interaction with anoperator or interactive service providing system during or preparatoryto the establishment of communications involving the parties. A serviceprovider may optionally assess billable charges to one or both of theparties related to the provisioning, use or invocation of some of thesepresentation features.

[0118] In the matter of coupling IMT 70 to chat client 14, connections76, 77 may be implemented as communications through network 20 eventhough, for simplicity, they are shown as direct connections in FIG. 1.Moreover, connections 76, 77 may be manipulated through session router32. That is, similar to the manner in which session router 32accomplishes transfer among messaging stations within SPS 30, sessionrouter 32 could cause communications from chat client 14 alongconnection 24, for example, to merely be redirected to IMT 70. Theadvantages of doing this are that the user of chat client 14 experiencescontinuity of the original session and that a respondent in SPS 30 maystay conferenced onto the subsequent communications, perhaps in order tofacilitate the initial communications with a second party.

[0119] In similar fashion, text-to-speech module 72 may act as a chatentity involved in chat communications with chat client 14. An optionalinstant messaging receiver 79 b is shown along connection 77 foradapting text-to-speech module 72 to act as a recipient instantmessaging client. As with sender 79 a, receiver 79 b may be implementedas, or at least conceptually viewed as, being either separate from orintegral with IMT 70 or text-to-speech conversion process 72. Sender 79a and receiver 79 b may in fact be implemented as a single messagingprocess, similar to the manner in which chat client 14 conductscommunications through connection 24, and may carry out both sending andreceiving through a single network address and port number. When aconnection is established through VoIP gateway 54 and intelligent mediatranslator 70, a party using telephone 62 will hear synthesized speechrepresenting chat messages as they are received from chat client 14.

[0120] Although not explicitly shown in FIG. 1, the passage ofpacketized telephony signals along connections 75 and 78 may implypacket assembler/disassembler and codec interfaces for adaptingconversion processes in modules 72 and 74 in a novel manner to supportthe present teachings. It should be noted that connections 75 and 78 mayrepresent other forms of bearer channel connection, such as TDM signalsdirectly from a telephony network such as PSTN 60. In the pursuit ofcoupling a telephony party at telephone 60 or IP telephone 92 to chatclient 14 through IMT 70, the voice signals may traverse a datatransport network (using RTP, for example) or a telephony network (inthe form of analog or TDM signals) or a combination of transportnetworks. The design of IMT 70 may vary accordingly to work withtelephony signals in the appropriate form. The use of RTP to carry voicesignals to/from IMT 70 as shown in FIG. 1 is thought to be advantageousfor compatibility with VoIP gateway 54 and its ability to alternativelycarry on RTP communications directly with properly equipped chat clients14.

[0121] In FIG. 1, intelligent media translator 70 is shown to furthercomprise at least one controller 73 that may interface to, or be incommunication with, either or both of intelligent chat gateway 52 andservice provider system 30 as represented by connections 80. Controller73 may be operable to receive instructions or commands from serviceprovider system 30 or intelligent chat gateway 52 for purposes ofcoordinating connections such as RTP voice communications alongconnections 75 and 78 and textual communications along connections 76and 77. Controller 73 may participate in allocating resources oftext-to-speech module 72 or speech-to-text module 74 and in determiningaddressing or port numbers by which such modules are engaged incommunication with other elements. In some embodiments, controller 73may issue commands or information along connections 80 causing either orboth of service provider system 30 and intelligent chat gateway 52 toestablish communications involving intelligent media translator 70.

[0122] Via controller 73 or the like, intelligent media translator 70may provide a control interface means suitable for communicating varioustypes of information in the course of arranging communications throughthe intelligent media translator. Some example types of informationwhich may be communicated through the interface include: an identifiercorresponding to the messaging client, an identifier corresponding to anRTP stream, an IP address, an identifier corresponding to a speechsignal input port of the translator, an identifier corresponding to aspeech signal output port of the translator, an identifier correspondingto a textual information receiving port of the translator, an identifiercorresponding to a textual information output port of the translator, anidentifier corresponding to a session involving the translator, anidentifier corresponding to an instance of the speech-to-texttranslation means, and an identifier corresponding to an instance of thetext-to-speech translation means.

[0123] It should be noted that a called party participating incommunications through a telephony connection, such as through an RTPvoice-over-packet session directly with chat client 14 or through IMT 70may carry out a communication vocally through a phone and without havingto compose discrete messages. In other words, messaging or other instantcommunications among a principal using chat client 14 and system 10 maygive rise to yet other communications wherein at least some of thelatter communications do not involve messaging or wherein at least oneof the communicating parties does not have to compose and send discretemessages.

[0124] In FIG. 1, service provider system 30 is also shown to be coupledto PSTN 60 via connection 56, representing a coupling to any form ofpublic or private telephone network. Service provider system 30 mayengage in telephony signaling or otherwise coordinate with telephonysystems and switches in providing services to principals. Furthermore,connection 71 shown coupling PSTN 60 to IMT 70 represents a telephonyconnection, such as telephone line or trunk, by which IMT 70 maycommunicate telephony signals with a telephone network. As describedfurther below, connections 56 and 71 allow for a variety of interactionsor cooperation with a telephone network. For example, wherever it isdescribed that gateway 50 causes chat client 14 to communicate withtelephone 60, it should be understood that an analogous functioningthrough connections 56, 71 and PSTN 60 may similarly accomplish aconnection of the parties involved.

[0125] Those of ordinary skill in the art will recognize that variouselements depicted in FIG. 1 may be combined or separated while stillaccomplishing the same general operation described herein. For example,the function of intelligent media translator 70 may be integrated withVoIP gateway 54 forming a novel gateway device or subsystem capable ofinterfacing directly between a telephone network and a chat client.Those of ordinary skill will also recognize that, given the exemplaryembodiment described in FIG. 1, a variety of techniques and sequences ofevents may be used to coordinate the formation and dissolution ofcommunications among various elements and that a variety of signaling orcontrol connections may be added to enable each element to receive ororiginate “call setup” instructions. To carry out the functionsdescribed herein, one or more of the elements shown in FIG. 1 may becoordinated in their actions using one or more controllers, such as byemploying a softswitch technology as recommended by the InternationalSoftswitch Consortium or a control arrangement as described in U.S. Pat.No. 6,098,094. For example, a controller 90 may be coupled to any or allof the elements in FIG. 1 through network 20 or by a separate network orpoint-to-point connections. As will be apparent to persons of ordinaryskill in the relevant art, controller 90 may send signals to variouselements through network 20 to accomplish functions described herein.

[0126] Such conversion between chat text and voice signals may bedesirable or necessary if, for example, an intranet security firewallthrough which chat client 14 communicates is configured to blockstreaming IP sessions of the type utilized to carry voice communicationor because a particular chat client 14 or data processing system 12 doesnot support voice communication (e.g., is not equipped with amicrophone).

[0127] With reference now to FIG. 3, there is illustrated a moredetailed depiction of network 20 and service provider system 30 (as wereintroduced in FIG. 1) in accordance with one embodiment of the presentinvention. As shown, network 20 comprises or is coupled to a number ofinstant messaging servers 130 a-c representing different instantmessaging services (e.g., AIM, MSN® Messenger, Yahoo!® Messenger, etc.).As mentioned earlier, depending on implementation, each instantmessaging service may or may not stay involved in forwarding of chatmessages after a session among parties has been initiated. Each instantmessaging server 130 may provide presence functionality and, in somecases, presence may be the principal function contributed by the server.

[0128] Network 20 may optionally include, or be coupled to, a globalchat service screen name (CSSN) directory 132, which a user can accessthrough chat client 14 to learn the CSSN(s) of a service provider. CSSNslearned from global CSSN directory 132 can then be utilized to initiatechat sessions and can be selectively added to the friends list 120 ofchat client 14, as described above. Depending on availability of screennames, the CSSN for a given service may be common across all of theinstant messaging service providers or may be somewhat different amongproviders, perhaps encouraging the use of directory 132. Generally,throughout the present description, references to ‘CSSN’ should beunderstood to mean either or both of the global chat service screen nameas described above or a screen name for the chat-based service as it isknown in the context of a particular instant messaging service. Both ofthese are screen names by which the service may be known and accessed inone way or another.

[0129] As further illustrated in FIG. 3, service provider system (SPS)30 includes chat-based services system 35 and an optional session router32, which provides an interface between network 20 and chat-basedservices system 35. By virtue of chat-based services system 35, SPS 30may be referred to as being, or at least comprising, a messagingresponse system. Chat-based services system 35 may provide both humanresponse through zero or more (in this case, ‘m’) operator messagingstations 142 and automated response through zero or more (in this case,‘n’) automated messaging stations (referred to herein as ‘chatbots’)140. The chat-based services provided by messaging stations 140, 142 caninclude, without limitation, any of the over a hundred services nowprovided by telephony operator services (e.g., telephony directoryassistance, call completion, customer support, concierge services, etc.)or other services not traditionally offered by telephony operatorservices (e.g., chat directory assistance, information retrievalservices, interactive web browsing assistance, etc.).

[0130] In a first embodiment in which session router 32 is omitted, eachmessaging station 140, 142 has a different CSSN (and perhaps a differentCSSN for each instant messaging service) to enable peer-to-peercommunication between chat clients 14 and particular messaging stations140, 142. Each station 140,142 may log on to one or more instantmessaging services. Chat clients 14 may become aware of one or moreCSSNs by which to reach chat clients for a particular purpose. CSSNs forstations 140, 142 may, for example, conform to a generic name followedby a specifier such as “DirAsst67.” The provider of services could makeknown to prospective users that a screen name of “DirAsst” followed byany two or three digits will reach a chat agent offering a givenservice. On average, each of the stations having screen names“DirAsst01” through “DirAsst99” will receive an approximately equalvolume of requests, especially if users are encouraged to use randomlydistributed numbers such as the last two digits of their telephonenumber or government-issued personal identification number. If a stationbecomes overloaded with requests and does not respond in a timelyfashion, users may try a different screen name in the same “family” ofscreen names but having a different suffix.

[0131] Alternatively, a directory may be provided by which a user mayobtain from a service provider a screen name to be used temporarily.This is comparable to presence functionality except that the availablestatus of an exact screen is not being obtained. Instead the user mayrequest using a generic screen name and receive a specific, currentlyavailable screen name.

[0132] An interface by which the user might obtain a temporary screenname might itself be through a chat session with a service providerusing a consistent screen name. For example, a user might contact ascreen name of “DirAsst” advertised by the service provider to be asource for information. The chat session with “DirAsst” might provide aresponse to the user of a screen name of an available chat respondent ata more specific address such as “DirAsst34”. The user may then begin achat session with “DirAsst34” freeing up “DirAsst” to route otherinitial requests to other stations.

[0133] In a slight variation on this approach, the request to “DirAsst”might immediately be delegated to another respondent such as a station140, 142 in system 30. Sufficient information about the requesting chatclient gleaned from the initial chat request may be passed along to asubordinate station which could then engage the requester. The principalwho initiated the request addressed to “DirAsst” might soon receive backa response from “DirAsst45” or “Operator6” or any other screen namecorresponding to the assigned station.

[0134] These approaches are advantageous for permitting the serviceprovider to maintain any number of stations at any given time, asopposed to having exactly a hundred or a thousand different chatrespondents online at all times. Such approaches also allow for dynamicdistribution among stations under the control of the service provider.

[0135] In accordance with another embodiment of the present invention,multiple (and preferably all) stations 140, 142 utilize a common CSSNfor each distinct service offering (e.g., “Call Services” and“Concierge” from FIG. 2), so that multiple users of possibly differentinstant messaging services can concurrently conduct private chatsessions with multiple stations 140, 142 under a common CSSN. Thus,users are afforded the convenience of a single CSSN to learn andremember for each service offering (or even multiple service offerings),much like the provision of telephone collect call completion services bydialing the telephone number “1-800-COLLECT.” In order to supportsharing of a CSSN by multiple stations 140, 142, the second embodimentincludes a session router 32 interposed between chat-based servicessystem 35 and network 20 to distribute chat requests addressed to asingle CSSN to multiple stations 140, 142. Session router 32 mayaccomplish the ‘conferencing’ of multiple chat services and/or stations140, 142 into the same chat session. In addition to routing chatrequests to chatbots 140 and operator stations 142, session router 32can facilitate the transfer of a chat session from one respondentstation to another or from one chat-based service to another chat-basedservice. Session router 32 may be involved in routing communications toother service providers, such as to a service provider operating a bankof chat respondents similar to SPS 30. Session router 32 or SPS 30 mayalso be able to route communications to external resources such as totelephony communications or to a service providing system that isaccessible by telephone.

[0136] A first party and a second party may address requests to theservice providing system, with the request from either party beingaddressed to a common screen name or other identifier specifying theservice providing system. Furthermore, each party accessing the serviceproviding system receives responses that appear to come from the genericscreen name by which each party addressed communications to the service.In other words, a first party who initiated communications using ascreen name like “Concierge” will receive responses wherein the senderidentifier of the message will similarly read “Concierge”. Both a firstparty and a second party using the service will receive responses havingthe same sender identifier. Both parties will experience communicatingwith “Concierge” even though they may in fact be conversing withdifferent messaging stations 140, 142 within service providing system30. Session routing process 136 operates on both inbound requestmessaging and outbound response messaging to accomplish thistransparency.

[0137] Aside from the transparency experienced by the requester throughchat client 14, this approach is advantageous for “hiding” the screennames of individual stations and blocking attempts by outsiders to reacha particular station each time they access the system. A novel aspect ofsession router 32 is that, in contrast to typical IM messagingapproaches, it routes inbound messages based on the identification of achat client 14, or a party using same, rather than the recipient addresscontained in the message. Of course, in the scenario just described, allinbound messages will have the same recipient address, namely the CSSNcorresponding to SPS 30. Thus, the choice of which messaging station inchat-based services system 35 receives an inbound message is determinedby the session router and not by the party who sent the message.

[0138] In the depicted embodiment, session router 32 includes aplurality of agent gateways 134 a-c, which each provide an interface fora respective instant messaging server 130. Agent gateways 134 a-c maketransparent the presence of messaging station(s) 140, 142 providingservice to users. It is possible to implement stations 140, 142 as oneor more processes distributed on one or more computing devices, eventhrough geographically distributed systems and/or Web services.

[0139] As indicated in FIG. 3, in order to service a large number ofconcurrent requests, multiple instances of each type of agent gatewaymay be instantiated, with load balancing techniques implemented tomanage traffic between these instances of each agent gateway 134 a-c.This approach may be also advantageous in implementations employinggeographic redundancy to improve system survivability.

[0140] Each gateway 134 a-c acts as a chat client with respect to aparticular instant messaging or presence service. The use of differentgateway types is necessitated by the diversity of proprietary instantmessaging technologies used by services via servers 130 a-c. Eachservice 130 a-c represents a particular ‘brand’ of instant messagingservice or presence service or combination thereof. There is as yet nocommon standard by which servers 130 a-c may interoperate. If and whensuch interoperability is achieved, alternatively or additionally, a“universal” agent gateway may be implemented to support communicationwith two or more instant messaging services that employ a common instantmessaging protocol. Each agent gateway 134 a-c translates communicationbetween the instant messaging protocol employed in communication withdata processing system 12 via network 20 and a common internal protocol(e.g., IP, a standards-based messaging protocol or a proprietarymessaging protocol) employed within service provider system 30 forcommunication between session router 32 and chat-based services system35. Although most chat communication is stateless and unencrypted, thevarious instant messaging protocols may further require the associatedagent gateways 134 a-c to manage state information and accommodatesecurity implementations, such as encryption, certification, etc.

[0141] Session router 32 further includes one or more instances of asession routing process 136 (described in detail below) that routesinbound communication received from agent gateways 134 a-c to selectedstations 140, 142 for servicing. Session routing process 136 also routesoutbound communication received from stations 140,142 to the appropriateagent gateway 134 a-c for transmission to a chat client 14.

[0142] As evidenced by connections 24 and 25 of FIG. 1 and by agentgateways 134 a-c in FIG. 3, session router 32 provides a messagingsystem interface operable to communicate messaging communications amonga message response system and parties accessing services. provided bythe message response system.

[0143] Referring now to FIG. 4, there is depicted an exemplary method bywhich service provider system 30 registers with one or more instantmessaging service providers 103 a-c to inform them that a chat-basedservice screen name (CSSN) is online and available to provide service.As indicated at reference numeral 150, when each station 140, 142 withinchat-based services system 35 becomes available for service, typicallyon system start up, the station 140, 142 will register its uniquename(s) (e.g., logical name, numerical ID or network address) and itsassociated CSSN(s) (if more than one CSSN is used) with session routingprocess 136.

[0144] As part of this registration process, the station may also informsession routing process 136 about its capabilities. The capabilitiesabout which a station may inform session routing process 136 include,for example, languages supported, services provided, concurrent sessionsthat can be serviced, instant messaging (IM) services and media typessupported, service costs, etc. As depicted in FIG. 5A, session routingprocess 136 enters this information in fields 164, 166, 167 and 168 of acorresponding registration table entry 162 of a registration table 160(or other data structure) maintained by session routing process 136. Itshould be noted that a station may re-register at anytime to informsession routing process 136 of new or changing capabilities, forexample, to dynamically update the number of concurrently supportedsessions or services that can be provided.

[0145] Based upon the registration of stations with the session routingprocess, a particular messaging station may be selected to be associatedwith a given party who is communicating with the service providingsystem. This selection may take into account, for example, availabilityinformation relating to availability of the messaging station asreported to the session router, activity level of the messaging station,suitability of the messaging station to communicate with the party,resources available to the messaging station, capabilities of themessaging station, prearranged association of the messaging station withthe party, and an attribute of the party meeting criteria for beinghandled by the messaging station. The prearranged association may relateto providing personalized services as described earlier in conjunctionwith FIG. 2. Furthermore, some of the criteria or suitability aspectsmay relate, for example, to which language a party wishes to use andwhich stations are able to converse in the desired language. Somecriteria or suitability aspects may relate to gender, personality,personal attributes or preferences on the part of the party beingserviced or the respondent. This may even extend to the willingness ofthe respondent at a messaging station to engage in certain types ofinteractions or services.

[0146] Availability status of each station 140, 142 may be presented instatus information field 167 of entries 162 in registration table 160.For example, the values in this field may represent that a given stationis available for handling new sessions, is unavailable or is fullyoccupied with handling sessions. This information, along withinformation in capabilities field 166, may be used in deciding how toallocate stations to handle sessions.

[0147] Utilizing fields 167, 168 of registration table entries 162within registration table 160 (or other suitable tracking mechanism),session routing process 136 in FIG. 4 preferably tracks which of the oneor more CSSNs employed by stations 140, 142 within chat-based servicessystem 35 are logged into the various available instant messagingservices. Alternatively, login status within the various instantmessaging services may be maintained by agent gateways 134 a-c ordetermined by polling each presence service of servers 130 a-c. Sessionrouting process 136 may also pass this login status information back tostations 140, 142 if desirable or required by stations 140, 142.

[0148] It may be preferable in many implementations to have each station140, 142 be able to handle sessions pertaining to multiple CSSNs. Astations may be able to support agility among multiple CSSNs or may evenbe able to concurrently handle sessions arising from multiple CSSNs. Itis particularly noteworthy that each station may also be able to conductsessions with multiple parties who are accessing the service usingdifferent ones of instant messaging services 130 a-c. Moreover, byvirtue of session routing process 136 resolving session identificationbased on both chat client address 173 and CSSN 174 in table 170, a givenparty accessing the system may be simultaneously serviced by one or morestations 140, 142. For example, a principal may use two differentservices accessed using two different CSSNs, yet within the serviceproviding system the sessions are routed independently of one anotherregardless of the common chat client address. The principal accessingthe service may not be aware that both sessions are being serviced bythe same service providing system or perhaps even the same respondentstation.

[0149] When session routing process 136 determines that a CSSN utilizedby a station 140, 142 is registering with session routing process 136and is not currently logged into an instant messaging service, sessionrouting process 136 sends a login request to the associated agentgateways 134 a-c, as indicated at reference numeral 152 of FIG. 4.Generally, in response to one or more stations indicating availabilityto agent gateways 134 a-c, the agent gateways 134 a-c, utilizing theappropriate protocol(s), will each log in to their respective instantmessaging services using the CSSN(s) for which the service provider isthen receptive to sessions from users. This action is depicted atreference numeral 154. In embodiments in which more than one instance ofan agent gateway 134 a-c is provided for at least one instant messagingservice, it is preferable that only one instance of a particular agentgateway 134 (e.g., selected by default or arbitration) logs a CSSN intothe associated instant messaging service. Otherwise, a login attempt mayfail or cause the instant messaging service to disconnect a previouslylogged in agent gateway 134 sharing the same CSSN for that instantmessaging service.

[0150] With reference now to FIG. 6, there is depicted an exemplary chatmessage flow by which a principal associated with chat client 14 canaccess a chat-based service provided by service provider system 30 inaccordance with the present invention. In order to access a chat-basedservice, the principal associated with chat client 14 will first need tolearn the CSSN associated with the desired service. For example, asillustrated in FIG. 2, the CSSN “Call Services” could be assigned to achat-based service providing directory assistance, call completion, andother related services, and the CSSN “Concierge” could be assigned tochat-based concierge services (e.g., providing accommodation andrestaurant reservations). As noted above, and as shown generally atreference numeral 180, the principal can learn the CSSN of a desiredservice by consulting global CSSN directory 132 or other directories,accessing a default entry in friends list 120, receiving anadvertisement, selecting a web site link, etc. For example, a serviceprovider may use television, radio, web banners, billboards or the liketo advertise a screen name for users to access a particular service.Ideally, enhancements to existing web-based directory services and/orglobal CSSN directory 132 might incorporate features to enable thelookup of CSSNs based upon criteria such as service category, serviceprovider, cost, user ratings, etc.

[0151] The principal then initiates chat communications with the CSSNassociated with the desired service, for example, by selecting a CSSNfrom friends list 120 and then selecting chat button 112 withinmessenger window 100 of FIG. 2. As indicated in FIG. 6, chat client 14responds to the principal initiating a chat session by sending a sessionrequest 182 to the presence service 130 of the instant messaging serviceconfigured for chat client 14. If the presence service 130 indicatesthat the CSSN is logged into the presence service 130, for example, byreturning a network address associated with the CSSN, chat client 14will send a text or voice chat request 184 to the network addressreturned by the presence service. The address associated with the CSSNwill direct the chat request to the appropriate agent gateway 134 withinsession router 32. For example, if the user has an AIM chat client, thechat request may be directed to AIM agent gateway 134 a. As mentionedbefore, some instant messaging systems handle all messaging trafficwhereas others merely participate in the initial establishment ofmessaging sessions. Still others operate in an entirely peer-to-peerfashion without involving intermediary messaging servers. Those ofordinary skill in the art will recognize that the present invention maybe embodied in the context of any of these forms of messaging systems.For example, in homogeneous environment where a single messaging systemor messaging protocol is to be supported, such as in a privateenterprise, some of the elements and practices described herein may beomitted or suitably modified.

[0152] As discussed above, in response to receipt of chat request 184,agent gateway 134 may optionally translate chat request 184 into atranslated chat request that complies with the internal messagingprotocol employed by service provider system 30, and session routingprocess 136 routes the translated chat request to one or more stations140, 142 for servicing, as generally indicated at reference numeral 188.As discussed above, the provided service may be any of a myriad ofservices, and will typically entail the transmission of a text or voicechat response message from a station (e.g., chatbot-1 140) to chatclient 14, as indicated at reference numerals 190 and 186. This chatresponse message may convey information sought by the chat request(e.g., a telephone number, chat screen name or other contactinformation) or may convey acknowledgement (completion) or refusal ofthe chat request. It should also be noted that the chat response may bein a different format than the chat request (e.g., a text chat responseto a voice chat request).

[0153] To determine how to route inbound messaging to respondentstations 140, 142 and route responses to appropriate agent gateways 134a-c, session routing process 136 may consult routing associationfunction 138 to obtain routing information. Routing association function(RAF) 138 may implement a variety of techniques for establishing anassociation between a messaging station and a party who is using theservice providing system 30. For example, routing association function138 may comprise, or have access to, routing table 170 and/orregistration table 160. Routing association function 38 may applyselection criteria to decide which messaging station is to handle eachinbound communication session. A routing association manifested inrouting association function 138 may act by associating an identifierfor a party with a messaging station identifier. An identifier for aparty may be, for example, a screen name by which the first party isknown in an instant messaging system, a network address for a messagingclient used by the first party, an account name, an account number, anda user name by which the first party is known to the messaging responsesystem. Routing association function 138 may comprise any or all of: adata structure for storing routing associations, a process fordetermining routing associations and means for accessing routingassociation information from another source.

[0154] In some cases, session routing process 136 may also transfer achat session to another station or “conference in” an additional station(e.g., Oper-1 station 142) to service the chat request, as generallyillustrated at reference numeral 192 and as discussed further below. Tofacilitate the servicing of chat requests by multiple stationssequentially or concurrently, session routing process 136 and/orstations 140,142 will maintain enough state information for each chatsession within database 144 so that any session can be transparentlytransferred to another station 140, 142 at any point during the chatsession. The need to transfer the session could arise due to systemfailures, load balancing, requests for functionality not offered by thecurrent station, etc. One common reason to transfer control of a chatsession may be the need for chatbot 140 to invoke service by ahuman-assisted station 142. Such transfer, as well as addition ordeletion or other changes to routing, may be initiated by chatbot 140,by the user at chat client 14, by an operator at a human-assistedstation 142, or under programmed control of some nature operating withinsystem 30 or chat-based services system 35. Another possible participantin the transfer, conferencing or control may be a third party associatedwith SPS 30, such as a supervisor at a supervisory station therein.Transfer or conferencing may also involve a party outside of SPS 30,such as another service providing system similar to SPS 30 or even acall center, operator or help desk which are accessible by telephone.Conferencing, transfer or referral involving a telephone-accessibleentity may be accomplished via, for example, connections 56 and 71 shownin FIG. 1.

[0155] Session routing process 136, for example by the action of routingassociation function 138, may be caused to add another station bycreating multiple routing association records 172 mapped to the samechat client address 173. Deleting a routing association corresponds todeleting a record 172 within routing table 172. Reassigning a differentmessaging station to handle requests from a given party (such as whenhuman operator intervenes and replaces an automatic respondent during asession) may be accomplished by adding a routing association in the formof a new record 172 and then deleting the former routing associationrecord.

[0156] It should be noted for the sake of clarity that instant messagingsessions are typically stateless interactions. Elements involved inhandling messaging communications generally do not maintain stateinformation. For example, delivering a given message does not dependupon the messaging system recalling any information related to previousmessages having been sent. The concept of session state informationdescribed herein does not imply any change to the stateless nature ofconventional chat sessions from the perspective of chat clients andinstant messaging services, nor does it exclude a modification ofinstant messaging to include notions of state.

[0157] In some instances, it may be desirable to provide for storage ofsession information. This may be useful for conveying information fromone station to another as a session is transferred. This may be alsouseful for sustaining a session even if a service within serviceproviding system 30 is momentarily disrupted. Examples of sessioninformation to be stored may include an identifier associated with aparty, state information related to the communications session with theparty, degree of progress through a programmatic sequence of stepsperformed by the messaging response system, copies of at least portionsof messaging communications, information obtained from the party,information requested by the party, information pertaining to the party,information obtained from a database responsive to communications withthe party, information pertaining to a messaging station, and pointers,links, handles, indices and other references to places where additionaldata may be obtained. These same types of information may also be passeddirectly between stations with or without being stored in a database.This same information may also be useful for such purposes as billing,fraud prevention and collection of operating statistics.

[0158] Referring now to FIG. 7, there is illustrated a high levellogical flowchart of an exemplary method by which the session routingprocess 136 of FIG. 6 routes communication between agent gateways 134a-c and stations within the chat-based services system 135 in accordancewith a preferred embodiment of the present invention. In the depictedembodiment, session routing process 136, which can be implemented inhardware, software or a combination thereof, routes such communicationby referring to the routing table 170 shown in FIG. 5B.

[0159] As described earlier, routing table 170 may be generallycharacterized as a routing association means, with each record thereinrepresenting a routing association between a messaging station and aparty accessing the chat-accessible services. It is contemplated that avariety of alternative data structures or algorithmic approaches may beused to represent, determine and manipulate such routing associationsthat cause communications from a party to be routed to a particularmessaging respondent station. Process 700 is a method of managingmessaging communications and may be implemented as a software processrepresented by instructions on a computer-readable medium.

[0160] In FIG. 7, process 700 begins at step 701 in response to sessionrouting process 136 receiving a message, such as from an agent gateway134 or station 140, 142. In the depicted embodiment, the internalcommunication protocol employed within service provider system 30includes at least three types of messages: chat requests by chat clients14, chat responses by stations 140, 142 and control messages. Uponreceipt of a message in step 701, processing then continues with step702, wherein it is determined if the message is a chat request from achat client 14 received from an agent gateway 134. If so, then executionproceeds to step 712 to determine if the chat request represents a newsession. This determination may involve examining routing table 170 forentries having the same chat client address 173 as the inbound message.

[0161] If such an entry is found, signifying that there already exists asession and a station associated with the requesting party, thenexecution proceeds to step 716 wherein the chat request received in step701 is matched to one or more entries 172 in routing table 170 basedupon preferably both the chat client address and CSSN. Accordingly, themessage is then forwarded to the appropriate station(s) as indicated bycorresponding servicing station address 176 in routing table 170.Multiple entries for stations servicing the same chat client address mayoccur when stations perform conferencing, such as when a human-operatedstation becomes involved in a chatbot session. After dispatching thechat request to the assigned station, execution of process 700terminates at step 730 denoting completion of handling the communicationthat was received in step 701.

[0162] Returning to step 712, if no entry 172 having a matching chatclient address 173 and CSSN is found, then it is assumed that themessage represents a new chat client that is not already associated witha session or station in service provider system 30. In this case,execution proceeds to step 714 to select a station to be assigned to theoriginating chat client for handling the current request and anysubsequent requests. The selection of a particular station from among apool of stations 140, 142 may take into account many factors, such asthe current workload, current availability and suitability of eachstation. Session routing process 136 selects from registration table 160a station 140, 142 to service the chat request based on one or morefactors, such as type of request, service cost, workload balancing,system availability, feature sets, system capabilities, operator skills,etc.

[0163] The selection of a particular messaging station from among a poolof stations 140, 142 may be responsive to at least one of: availabilityof the messaging station, activity level of the messaging station,suitability of the messaging station to communicate with a given party,resources available to the messaging station, capabilities of themessaging station, prearranged association of the messaging station withthe party, and at least one attribute of the party meeting criteria tobe handled by the messaging station.

[0164] Upon selecting a station in step 714, the process continues tostep 704 wherein a new entry 172 is added to routing table 170. Sessionrouting process 136 then enters the network address or identifier of theselected servicing station and an assigned session ID into fields 176and 177, respectively, of the routing table entry 172. The chat clientaddress field 173 of the entry is populated with the chat client addressof the inbound message. The CSSN corresponding to the chat client isentered into CSSN field 174 of entry 172. The address or identity of theappropriate servicing agent gateway 134 is recorded in servicing agentgateway field 175.

[0165] These actions accomplish an associating or “binding” of thestation with the session and the requesting entity. Thereafter, process700 continues at step 716 and the chat request received in step 701 isforwarded to the newly associated station based on the updated contentsof routing table 170. The process thereafter terminates at step 730.

[0166] Returning to step 702, if the message received by session routingprocess 136 is not a chat request, then execution proceeds to step 706to determine whether the message is a chat response coming from astation 140, 142 and intended for a chat client 14. If the message is achat response by a station 140, 142, the process proceeds to step 708wherein session routing process 136 accesses routing table 170 andinserts the network (e.g., IP) address of the chat client (andoptionally the CSSN) into the chat response, if necessary. Of course, inembodiments in which session routing process 136 passes the networkaddresses of chat clients to stations 140, 142 and stations 140, 142mirror the chat client addresses in chat responses, session routingprocess 136 need not insert a chat client network address into the chatresponse as shown at step 708. Then, in step 710, the chat response isrouted to the appropriate agent gateway 134. The agent gateway 134handling the chat session in turn forwards the chat response to theappropriate chat client 14.

[0167] Optionally, in step 708, an additional search may be made forother entries 172 having the same chat client information anddetermining if other stations are in communication with the given chatclient. To accomplish a chat conferencing function, a response to besent to the chat client may also be copied to other stations found bythis search. Depending on how this is implemented, such conferencing mayor may not be bilateral. In some instances, for example, it may bedesirable to suppress messages from a human operator 142 echoing to achatbot 140.

[0168] Returning to step 706, in the event that the message received bysession routing process 136 is not a chat request or chat response, theprocess proceeds to step 720 and subsequent steps which depict sessionrouting process 136 processing a control message. In the depictedembodiment, such control messages include at least requests by stationsto reassign chat sessions to different stations and end-of-sessionnotifications. As indicated by step 718 labeled “Other Processing”, thecommunication protocol involving session routing process 136 may alsoinclude other control messages or chat messages not explicitly describedherein.

[0169] If, in step 720, it is determined that a received control messageis a request to reassign or transfer the session to another station, theprocess proceeds to step 722. At step 722, session routing process 136responds to the session reassignment request, which may arise asstations refer requests to other stations based upon, for example,appropriate capabilities determined from registration table 160. It isforeseeable that transfer between human-assisted stations 140 andautomated stations 142 may occur fairly often. Dynamic transfer amongstations may also be done for load balancing purposes. Session routingprocess 136 updates entry field 176 of the routing table entry 172 forthe chat session with the new servicing station address, and passes thesession ID of the chat session to the new servicing station. Based uponthe session ID and the session state maintained within database 144 inassociation with the session ID, the new servicing station canseamlessly (i.e., without any indication to chat client 14 or theprincipal) deliver service within the chat session beginning from themost recent state.

[0170] For example, a principal could be involved in a chat session witha chatbot 140 and then require the assistance of a human operator. Theprincipal or the chatbot 140 could request that the chat session betransferred to a human-assisted station 142. In response, sessionrouting process 136 can transfer the session to the human-assistedstation 142 (and possibly later transfer the chat session back to achatbot 140) or join a human-assisted station 142 into the current chatsession. After accomplishing the reassignment in step 722, the processterminates at step 730.

[0171] Referring now to step 724, if a control message received bysession routing process 136 from a station 140, 142 is an end-of-sessionnotification, process 700 moves to step 726. Step 726 illustratessession routing process 136 updating routing table 170 to remove routingtable entries 172 corresponding to the terminated chat session.Thereafter, the process terminates at step 730.

[0172] If none of the conditions tested by steps 702, 706, 720 or 724are true, then execution proceeds at step 718 to handle any other formof message that may be received. After any necessary processing isperformed in step 718 then process 700 concludes at step 730.

[0173] With reference now to FIG. 8A, there is illustrated a messageflow diagram of an exemplary communication flow by which a chat clientaccesses chat-based call completion services within communication system10 of FIG. 1 in accordance with the present invention. It should beunderstood that many variations are possible in the way that elements ofFIG. 1 might communicate to accomplish service functions in accordancewith the present invention. As shown, chat client 14 initiates access tochat-based call completion services by transmitting a voice or text ChatSession Request 250, for example, in response to an associated humanprincipal selecting the CSSN “Call Services” 124 a and chat button 112within messenger window 100 of FIG. 2. In response to receipt of ChatSession Request 250, service provider system 30 routes Chat SessionRequest 250 to a particular station 140, 142, which responds with a ChatResponse 251 indicating that a chat session has been successfullyestablished. For example, Chat Response 251 may be a voice or text chatmessage stating, “Welcome to Chat Call Services. How may I assist you?”

[0174] Chat client 14 may then follow with text or voice Chat Request252, which may be a request for information, such as contact informationfor another party. A station 140, 142 may find the requested informationand then return an answer 254 to the requesting chat client 14.Optionally, the fulfillment of the request may incur a charge to bebilled to the requestor or some other party. Accordingly, billing system40 may be notified of the fulfillment of the request by message 253which may carried along connection 42. In some implementations, billingsystem 40 may be consulted as part of a determination of whether arequest should be fulfilled based upon the ability to obtain payment forfulfilling the request. This type of authorization role is representedby message 253 a and may entail billing system 40 verifying whether avalid account exists and a balance is sufficient to accommodate thecharges associated with fulfillment of requests. In response to message253 a, it is possible that service provider system 30 selectivelyperforms further steps, such as responding via message 254, responsiveto whether or not billing system 40 authorizes the providing ofservices. Those of ordinary skill will recognize that billing system 40may be notified of usage or may be consulted for authorization at anumber of junctures depicted in FIGS. 8A-8B. Billable usage may beassessed for various aspects of service fulfillment, as will be furtherdescribed herein in conjunction with FIG. 9.

[0175] In FIG. 8A, the information provided in message 254 may satisfythe immediate needs of the requesting party or principal using chatclient 14. The chat session with service provider system 30 may then beterminated expressly by either the principal or the service provider ormay simply be terminated automatically after a period of inactivity, forexample.

[0176] Alternatively, the principal using chat client 14 may desire toimmediately initiate communications with a party for which the serviceprovider has found contact information. Chat client 14 may send a callcompletion request 255 to service provider system 30 to request that aparty be contacted via service provider system 30 and other componentsof system 10.

[0177] Upon receipt of a Call Completion Request 255, service providersystem 30 may communicate instructions, via Call Setup Request 256, tointelligent chat gateway 52 to begin the process of setting upcommunications between the requesting principal and another party.Although not explicitly shown, the proceeding with call setup in thismanner may be preceded by having billing system 40 verify that such callsetup is permissible based upon, for example, applicable charges beingbillable to an account.

[0178] Call Setup Request 256 might contain, for example, a request toestablish a connection with a specified terminating telephone number(e.g., 319-123-4567). Other information, such as a preferred mode ofpayment (e.g., credit card, calling card, collect, etc.), may also beincluded within the request or implied by the access mode. In order toprovide the requested call completion service, the serving station 140,142 within service provider system 30 sends a Call Setup Request 256 tointelligent chat gateway 52. Call Setup Request 256 may include the chatclient type (AIM, Yahoo!® Messenger, MSN® Messenger, etc), the network(e.g., IP) address of chat client 14, the terminating telephone number,and optionally other capabilities of chat client 14.

[0179] In response to receipt of Call Setup Request 256, intelligentchat gateway 52 directs VoIP gateway 54 to establish communication withchat client 14 over network 20 and then establish communication withtelephone 62 over PSTN 60. For example, to initiate communicationbetween VoIP gateway 54 and chat client 14, intelligent chat gateway 52transmits to VoIP gateway 54 a Call Setup Request 258 including at leastthe network address of chat client 14, and optionally, other informationsuch as an indication of a data network signaling protocol for the call(e.g., Session Initiation Protocol (SIP), H.323, CCS7, etc.), a billingidentifier or method, etc. In some embodiments, Call Setup Request 258may provide all the information needed by VoIP gateway 54 to establishVoIP communication with chat client 14. In other embodiments, VoIPgateway 54 may obtain additional information regarding chat client 14directly from the instant message server 22 providing instant messagingservice to chat client 14, as shown in FIG. 1 at reference numeral 55.

[0180] VoIP gateway 54 responds to Call Setup Request 258 bytransmitting a Call Setup message 260 to chat client 14 over network 20utilizing a selected signaling protocol (e.g., SIP, H.323, or CCS7).Chat client 14 responds to Call Setup message 260 by transmitting anAcknowledgement message 262 indicating its availability for the call.VoIP gateway 54 then informs intelligent chat gateway 52 of successfulcall setup with chat client 14 by sending Call Chat Done message 270. Inresponse to successful call setup with chat client 14, intelligent chatgateway 52 then directs VoIP gateway 54 by Call Terminating Phonemessage 272 to perform call setup for telephone 62 over PSTN 60.

[0181] In response to receipt of Call Terminating Phone message 272,VoIP gateway 54 sends Call Setup Request 274 to telephone 62 over PSTN60, for example. Utilizing Integrated Services Digital Network (ISDN),SS7, feature group D (FGD) or other telephony signaling protocol along asignaling connection 58, a bearer connection 59 is established involvingPSTN 60 and connecting ultimately to telephone 62. VoIP gateway 54notifies intelligent chat gateway 52 of call setup request 274 with CallTerminating Phone Done message 280. Call Setup Request 274 effectsringing of telephone 62. When telephone 62 is answered, for example, bya human or automated attendant taking telephone 62 off-hook, VoIPgateway 54 detects the telephone 62 going off-hook, as indicated atreference numeral 282, and connects telephone 62 with chat client 14 tocomplete the call, as indicated at reference numeral 284. Optionally,where charges are incurred for the call, a message 286 may be sent tobilling system 40, such as along connection 41, to establish a startingtime for the billable call and begin the accumulation of charges basedon call duration. For the duration of the call, telephone 62 sends andreceives voice communication 292 to and from VoIP gateway 54 over PSTN60, and chat client 14 sends and receives a real time protocol (RTP) IPvoice stream 290 to and from VoIP gateway 54 over network 20independently of intelligent chat gateway 52 and service provider system30. Alternatively, the communications established could be voice-enabledchat (e.g. sound bites) or could involve translation through intelligentmedia translator 70. Upon VoIP gateway 54 detecting termination of thecall leg with telephone 62, VoIP gateway 54 notifies chat client 14 thatthe call is over with Done message 294. VoIP gateway 54 may also sendmessage 296 to billing system 40 to signify that the call has ended andthat accumulation of charges may cease.

[0182] With reference now to FIG. 8B, a process is depicted by whichcall completion requested by a principal may result in a“chat-to-telephone” connection by involving intelligent media translator70. Many of the same steps shown in FIG. 8A, such as the initial requestfor contact information and the messaging to billing system 40, areapplicable to this scenario but are omitted for the sake of clarity.

[0183] Call request 455 from chat client 14 is comparable to callrequest 255 as was shown and described in FIG. 8A. Upon receiving suchrequest, and perhaps checking billing status for the party making therequest, a call setup request 456 is sent to intelligent chat gateway 52to begin the process of making three connections, namely:

[0184] a. a text chat session between intelligent media translator 70and chat client 14,

[0185] b. an RTP or comparable voice connection between gateway 54 andintelligent media translator 70,

[0186] c. a voice connection through telephone network 60 betweengateway 54 and phone 62.

[0187] As one way of accomplishing these connections, gateway 52 mightthen send a translator setup message 458 to intelligent media translator70 instructing the latter to allocate processing resources (modules 72,74) to be assigned to the new connection. Translator setup message 458may convey information, such as network address or screen name for chatclient 14, so that intelligent media translator 70 may then establish achat session with chat client 14. The ensuing chat messaging, presentedby connections 76, 77 may actually be carried within network 20 and maybe partly or fully conducted through IM service 22. To initiatecommunications, intelligent media translator 70 may send one or moreinitial messages 460 to chat client 14. Chat client 14 may respond withmessage(s) 462 whereupon intelligent media translator 70 and chat client14 are in successful communication. Optionally, intelligent mediatranslator 70 may acknowledge with a call progress message 464 of sortssaying something like “Connecting . . . Please wait.” Meanwhile,intelligent media translator 70 reports back to intelligent chat gateway52, via message 466, that the translator-to-chat client connection hasbeen successfully made.

[0188] Next, intelligent chat gateway 52 may instruct VoIP gateway 54 toinitiate a packet voice connection, such as a two-way RTP connection,with intelligent media translator 70. Messages 470, 472 represent theformation of an RTP connections 75, 78. Intelligent media translator 70may have to provide an address and/or port number, perhaps carriedthrough messages 466 and 468, so that the resulting RTP connection isproperly matched to the instances of modules 72, 74 that are prepared tohandle translations involving the particular chat client 14.Alternatively, both intelligent media translator 70 and gateway 54 maynegotiate using some sort of session ID passed in the various messagesto ensure proper mapping of voice and chat connections. Once the RTPconnection between intelligent media translator 70 and gateway 54 issuccessfully established, gateway 54 reports the status of theconnection to intelligent chat gateway 52 using message 474. Intelligentchat gateway 52 may then instruct VoIP gateway 54, via message 476, tooriginate a telephone call. Message 478, which accomplishes the callingof phone 62, may represent telephony signaling such as ISDN, SS7, C7,Feature Group D or other measures to originate a phone call to reachphone 62, most likely through an intervening network such as the PSTN.

[0189] Message 480 represents an acknowledgement that the call is beingplaced to phone 62 as requested. When phone 62 is answered by a party, amessage 482 is received from the telephone network indicating that thecalled party has gone “off-hook” and is now connectable. Messages 484and 486 indicate that this occurrence may be reported back to theservice provider system 30 to perhaps provide feedback, serve billingpurposes, or allow a service provider agent to interact with the calledparty or the requester in some fashion. ICG 52 or service providersystem 30 may even signal intelligent media translator 70 to send out achat prompt to chat client 14 and an audio message to phone 62 so thatthe parties become aware that they are connected and that the connectionis a chat-voice translated connection. Without some notification of thistype, the communicating parties may be confused about what is happeningand may even abandon the call without communicating.

[0190] Corresponding to the three connections described above, chattraffic 490, RTP traffic 492 and telephone voice traffic 494 are thencarried through their respective networks as the parties communicate.

[0191] As described before, the communications among chat client 14 andphone 62 may continue until one or both parties terminate the call. Itis also conceivable that, at any time, one of the parties may “rollover” the call to a more convenient form of communication, such asvoice-enabled chat.

[0192] While a particular sequence of messages have been depicted inFIGS. 8A and 8B by way of example, it should be acknowledged that thereare many ways to coordinate the formation of the required connectionsbetween a principal using chat client 14 and a party using phone 62.

[0193] More generally, in performing any of the functions describedherein, there are a number of variations possible in terms of whichelements initiate connections or control other elements to carry out theneeded functions. It is contemplated that, in an alternative embodiment,other entities, such as service provider system, may dispatch commandsto various elements, such as intelligent media translator 70, tocoordinate the formation of such connections. For example, intelligentmedia translator 70 might receive instructions from either serviceprovider system 30 or intelligent chat gateway 52 and then autonomouslycoordinate the forming of chat connections 76, 77 and RTP connections75,78 and then signaling directly to VoIP gateway 54 to accomplish atelephone call through PSTN 60. Intelligent media translator 70 maycomprise a controller 73 to communicate with and receive and processinstructions from either or both of service provider system 30 orintelligent chat gateway 52 along connections 80 through network 20.

[0194] Controller 73 may, for example, coordinate the allocation ofcommunication ports and processing resources within intelligent mediatranslator 70 in response to instructions from other elements.

[0195] It is also possible that intelligent media translator 70, viacontroller 73, might control other elements to coordinate connections.Intelligent media translator 70 may instruct intelligent chat gateway 52to cause VoIP gateway 54 to form an RTP connection addressed to aparticular port on intelligent media translator 70. Connections 80 mayalso represent merely the passage of information, rather than actualcommands, useful for coordinating communications, such as the passage ofnetwork address information or screen names.

[0196] Under various call scenarios, call coordination could conceivablybegin with almost any element and be carried out in almost any sequence.The sequencing of connection formation and sequencing, format andcontent of messages may vary and yet accomplish the same end result.There are also many ways to convey addresses and other identifiers amongelements to ensure accurate connections. The present invention is notintended to be limited by only the particular call flows which arepresented here by way of example.

[0197] These possibilities give rise to novel and useful elements suchas a intelligent media translator having a chat interface and havingcall setup signaling capabilities. Another novel element in accordancewith an embodiment of the present invention is system comprising an VoIPgateway which can originate connections in both telephone and packetnetwork domains.

[0198] It should be noted that even newer style telephones and telephonesystems made to interface directly with a packet network, like theso-called “IP phones” represented by IP phone 92 in FIG. 1. IP phone 92represents a type of internet-protocol telephony client and could alsobe implemented as an application running on a computer. Despite chatclient 14 and IP phone 92 both being digital data devices coupledthrough a data network, users of these devices may still benefit fromfeatures of the present invention. A person using IP phone 92 may findit advantageous at times to engage in translated voice-to-chatcommunications or voice-enabled chat with a chat client 14. Whereas VoIPgateway 54 is obviated in this scenario, many of the elements interactin much the same way to establish RTP connection with IP phone 92 aswill be recognized by those of ordinary skill in the relevant art.

BILLING

[0199] As described above with reference to FIG. 1, service providersystem 30, gateway 50, IM service (IMS) 22 are shown to be coupled toone or more billing systems 40 (illustrated collectively in FIG. 1 forsimplicity) in order to bill chat clients 14 for access to at least somechat-based services. The depicted connections 41,42,43, coupling gateway50, SPS 30 and IMS 22 respectively, represent an approach of providing abilling system interface through which indications of billable activitymay be sent to the billing system and authorization to perform requestedservices may be obtained from the billing system. In someimplementations, IMS 22 may represent a private or semi-privatemessaging system operated to provide a source of revenue or costrecovery. Any of the elements in FIG. 1 may be directly coupled tobilling system 40 to engage billing related function or may beindirectly coupled through other elements. Those of ordinary skill inthe art will appreciate that billing functions may also be integratedinto, or distributed among, elements of system 10 to varying degrees.

[0200] In the preceding description of at least FIGS. 1 and 8A, billingsystem 40 was shown to participate in collecting information indicativeof usage activity in communications system 10 and in authorizingactivity based on whether such activity could be paid for in somemanner. As exemplified in FIG. 8 at reference numeral 286, serviceprovider system 30 may provide indication of call completion services tobilling system 40 in response to successful call completion (as shown)or in response to initiating call setup by sending Call Setup Request256. Alternatively or additionally, as shown at reference numeral 296,VoIP gateway 54 may give indication to billing system 40, on behalf ofservice provider system 30, that call completion services have beeninvoked. VoIP gateway 54 may also notify billing system 40 of its ownrole in carrying the call, perhaps reporting call duration uponcompletion of the call. As system 10 may interact with and provideservices in conjunction with a telephone network, such as PSTN 60, itshould be understood that billing system 40 may also interact withtelephone network equipment in pursuit of performing billing functions.For example, telephone network equipment, such as switches or servicecontrol points (SCPs) may provide indications of usage upon whichbilling system 40 may base calculation of usage charges.

[0201] It should be noted that various elements in FIG. 1 may report avariety of indications to billing system 40 indicating usage of thesystem which may be billable. The billing system may note theseoccurrences and determine charges associated with the usage.Furthermore, as depicted in FIG. 8A and elsewhere, billing system 40 mayalso participate in authorization or metering of activity in the systembased upon whether a valid account exists to which charges may beapplied.

[0202] Various elements that provide usage indications need not all becoupled directly to billing system 40. Some elements may pass alongusage information for other elements. Some elements may append usageinformation to other inter-element communications such as the messagesshown in FIGS. 8A-8B. For example, in FIG. I usage of translationfacilities in IMT 70 may be reported to billing system 40 by way ofcommunications between IMT 70 and ICG 52. ICG 52 may receive usageindications from IMT 70 and append additional information pertaining tousage of gateway 50 before sending the information along to billingsystem 40. Thus, elements may combine some types of information to, forexample, provide billing system 40 a comprehensive view of a givensession. As those of skill in the art will appreciate, the same types ofusage indications reported to billing system 40 may also be useful forcollecting statistics to facilitate traffic engineering and frauddetection.

[0203] Some types of activity or events in the system which are reportedto billing system 40 may relate to invocation of certain actions orfeatures for which charges may be applicable. For example, a party usingchat client 14 might be charged for each time they contact serviceprovider system 30 or for each time they use the system to retrieveinformation, to perform an action or to establish communications with acalled party. A calling party might also incur fees for having thesystem map a first identifier, such as a name or an alias, to a secondidentifier, such as telephone number. The resulting usage charges may beapplied to the originating party, the called party or even a thirdparty. An originating party using a chat client 14 may have chargesbilled to their own telephony-related account even though, via thechat-accessible services offered, they may be engaging in non-telephonyactivity. The combination of IM service and screen name used by anoriginating party may be automatically mapped to a billable telephonyaccount by SPS 30, perhaps by using subscriber database 330 (describedbelow) or the like.

[0204] A communicating party might be charged differently for invocationof textual messaging versus voice communications. A party may be chargeda fee each time a translator is engaged to enabletelephony-to-instant-communications call completion. A calling party mayeven be charged for requesting information about the balance on anaccount.

[0205] Other types of activity in the system may relate to quantifyingusage of system resources. For example, charges may be applied basedupon a time duration of a communications session, a volume of data ortraffic handled by the system, or a quantity of translation performed.It is possible that elements such as VoIP gateway 54 or IMT 70 may counta number of packets processed, a number of symbols converted, or monitorelapsed time for a given session and then report this information tobilling system 40.

[0206] A third possibility for billable activity in the system relatesto options, features and subscribed services. Options or features mayrelate to, for example, class of service provided by the system or tocustomizability. In particular, parties using the system might pay extrato control the translator function in ways such as selecting languagesto be used during translation, providing support for ‘emoticons’ orselecting voice characteristics to properly represent the gender orother characteristics of the party who is using textual messaging.Another option that might be billable is automatic notification ofbalance or charges as a party uses the system. In this third category,it is likely that the billing system mostly serves to authorize activitybased upon options selected by the user and/or the status of an accountthat is to pay for the options.

[0207] A novel situation is created in the context of some embodimentsof the present invention wherein traffic from multiple different IMservices converges in a single platform. At least in FIG. 3, it isevident that parties may contact service provider system 30 from avariety of instant messaging services 130 and the each party isidentified to the system, at least initially, by an instant messagingscreen name. For billing and perhaps other purposes, it may be desirableto establish an account that is identified at least partially based uponone's screen name.

[0208] A problem arises in that, although screen names are unique withineach IM service, there is the likelihood that many screen names assignedto users in a first IM service are identical to screen names assigned toa different users in a second IM service. There is no assurance ofscreen name uniqueness across all IM services.

[0209] In order to enable screen-name-associated accounts, someembodiments of the present invention provide for a novel type ofbillable account that is resolved by a combination of IM serviceidentifier and screen name. Both identification of an IM service and aparticular user, such as by screen name, within that service providesufficient uniqueness to correctly specify a party from among allparties who may access the system. Combination of these identifiers mayalso be useful in maintaining and accessing profile information andother data associated with a user account.

[0210] Referring now to FIG. 9, there is illustrated a high-level stepdiagram of an exemplary embodiment of billing system 40 in accordancewith the present invention. In the depicted embodiment, billing system40 comprises a billing database 320 and a billing interface 310 thatcreates billing records within billing database 320 in response tobilling requests received from service provider system 30 or gatewaysystem 50. Billing system 40 may be implemented, for example, as one ormore server computer systems executing billing interface 310 insoftware.

[0211] Billing database 320 comprises a number of individual databasesthat each represent a particular method of billing. Each individualdatabase may be implemented by an actual database containing records ofaccounts or may comprise an interface to an external system, such as avalidation system operated by a credit card company. Examples ofdatabases that may exist in billing database 320 are summarized below inTable I. TABLE I Database Description Pre-paid database 322 Userpurchases services prior to use and billing system deducts value ofservices from pre-paid balance Post-paid database 324 User pays forservices after use Collect database 326 Bills chat-based services tocalled party's telephony services account Credit card database 328 Billschat-based services against user's credit card account Subscriberdatabase 330 Bills chat-based services to user's chat-based servicesaccount ANI database 332 Bills chat-based services to user's associatedtelephony services account Third Party 340 Bills chat-based services touser's account with third party, such as another service provider orcommercial entity

[0212] As indicated by Other billing database 342 shown in FIG. 9, theabove billing methodologies are not exclusive, but are instead merelyillustrative of some of the billing options that may be implemented toreceive value in exchange for the provision of chat-based services.

[0213] Implementations of billing functionality within the system ofFIG. 1 may be logically or physically centralized or distributed or maybe integrated to varying degrees into other elements or functions thathave been described thus far. The manner in which billing functionalitymay be implemented and coupled with other elements or integrated withother functions will be further clarified in the following discussionpertaining to FIG. 10.

HARDWARE OVERVIEW

[0214] As will be readily apparent to persons of ordinary skill in therelevant art, any of the functional elements, systems and processesdepicted in FIGS. 1 through 10 may be implemented in various ways using,for example, suitably equipped data processing systems or computingenvironments. Such implementations may comprise hardware, firmware,software, or combinations thereof, to accomplish intended functions inaccordance with the teachings of the present invention. For example, anyor all of service provider system 30, session router 32, intelligentmedia translator 70 and intelligent chat gateway 52, or functionalsubsystems depicted therein, may be implemented as processes in aprogram-controlled computing environment. Processes depicted in FIGS. 7Athrough 8B may be implemented wholly or partially as processing threadsoccurring within a computer processor under software and/or firmwarecontrol. A given process may be implemented in a distributed fashionamong multiple physical processors or multiple logical processingthreads. A single processor may participate in implementing multipleinstances or multiple types of the processes shown. Any of the functionsshown, or the hardware used to implement these functions, may bedistributed among remote locations or may be collocated.

[0215] It will also be appreciated that connectivity among elements forcarrying control signals, telephony-style signaling, SIP signaling,instant communications session establishment, billing-relatedinformation, bearer channel signals and messaging traffic and the like,may be accomplished via communications through a network, a shared bus,shared memory resources or by inter-process communications or evencombinations or pluralities of these.

[0216] Even signals representing telephone audio signals may be conveyedto processing equipment in the form of data through a bus or network.Methods and devices for converting among analog audio signals anddigital data are well known and are not explicitly shown in FIG. 1 orFIG. 10, although it is common that PSTN 60 or gateway 54 are equippedto perform these conversions. Adaptation to external systems, such as atelephone network represented by PSTN 60, may be accomplished by the useof well-known computer-telephony adapter cards (as those made byDialogic Communications Corporation), commercially available automaticcall distributors (ACDs) and Private Branch Exchange (PBX) equipment.

[0217] An exemplary arrangement of computing hardware suitable forimplementing functional elements and processes in accordance with thepresent invention will now be described in conjunction with FIG. 10,although it should be understood that aspects of the present inventionmay be embodied in other ways.

[0218]FIG. 10 illustrates a computer system 600 upon which an embodimentaccording to the present invention can be implemented. The computersystem 600 includes a bus 601 or other communication mechanism forcommunicating information and a processor 603 coupled to the bus 601 forprocessing information. The computer system 600 also includes mainmemory 605, such as a random access memory (RAM) or other dynamicstorage device, coupled to the bus 601 for storing information andinstructions to be executed by the processor 603. Main memory 605 canalso be used for storing temporary variables or other intermediateinformation during execution of instructions by the processor 603. Thecomputer system 600 may further include a read only memory (ROM) 607 orother static storage device coupled to the bus 601 for storing staticinformation and instructions for the processor 603. A storage device609, such as a magnetic disk or optical disk, is coupled to the bus 601for persistently storing information and instructions.

[0219] The computer system 600 may be coupled via the bus 601 to adisplay 611, such as a cathode ray tube (CRT), liquid crystal display,active matrix display, or plasma display, for displaying information toa computer user. An input device 613, such as a keyboard includingalphanumeric and other keys, is coupled to the bus 601 for communicatinginformation and command selections to the processor 603. Another type ofuser input device is a cursor control 615, such as a mouse, a trackball,or cursor direction keys, for communicating direction information andcommand selections to the processor 603 and for controlling cursormovement on the display 611.

[0220] According to one embodiment of the invention, call processing isprovided by the computer system 600 in response to the processor 603executing an arrangement of instructions contained in main memory 605.Such instructions can be read into main memory 605 from anothercomputer-readable medium, such as the storage device 609. Execution ofthe arrangement of instructions contained in main memory 605 causes theprocessor 603 to perform the process steps described herein. One or moreprocessors in a multi-processing arrangement may also be employed toexecute the instructions contained in main memory 605. In alternativeembodiments, hard-wired circuitry may be used in place of or incombination with software instructions to implement the embodiment ofthe present invention. Thus, embodiments of the present invention arenot limited to any specific combination of hardware circuitry andsoftware.

[0221] The computer system 600 also includes a communication interface617 coupled to bus 601. The communication interface 617 provides atwo-way data communication coupling to a network link 619 connected to alocal network 621. For example, the communication interface 617 may be adigital subscriber line (DSL) card or modem, an integrated servicesdigital network (ISDN) card, a cable modem, a telephone modem, or anyother communication interface to provide a data communication connectionto a corresponding type of communication line. As another example,communication interface 617 may be a local area network (LAN) card (e.g.for Ethernet™ or an Asynchronous Transfer Model (ATM) network) toprovide a data communication connection to a compatible LAN. Wirelesslinks can also be implemented. In any such implementation, communicationinterface 617 sends and receives electrical, electromagnetic, or opticalsignals that carry digital data streams representing various types ofinformation. Further, the communication interface 617 can includeperipheral interface devices, such as a Universal Serial Bus (USB)interface, a PCMCIA (Personal Computer Memory Card InternationalAssociation) interface, etc. Although a single communication interface617 is depicted in FIG. 10, multiple communication interfaces can alsobe employed.

[0222] The network link 619 typically provides data communicationthrough one or more networks to other data devices. For example, thenetwork link 619 may provide a connection through local network 621 to ahost computer 623, which has connectivity to a network 625 (e.g. a widearea network (WAN) or the global packet data communication network nowcommonly referred to as the “Internet”) or to data equipment operated bya service provider. The local network 621 and the network 625 both useelectrical, electromagnetic, or optical signals to convey informationand instructions. The signals through the various networks and thesignals on the network link 619 and through the communication interface617, which communicate digital data with the computer system 600, areexemplary forms of carrier waves bearing the information andinstructions.

[0223] The computer system 600 can send messages and receive data,including program code, through the network(s), the network link 619,and the communication interface 617. In the Internet example, a server(not shown) might transmit requested code belonging to an applicationprogram for implementing an embodiment of the present invention throughthe network 625, the local network 621 and the communication interface617. The processor 603 may execute the transmitted code while beingreceived and/or store the code in the storage device 609, or othernon-volatile storage for later execution. In this manner, the computersystem 600 may obtain application code in the form of a carrier wave.

[0224] The term “computer-readable medium” as used herein refers to anymedium that participates in providing instructions to the processor 605for execution. Such a medium may take many forms, including but notlimited to non-volatile media, volatile media, and transmission media.Non-volatile media include, for example, optical or magnetic disks, suchas the storage device 609. Volatile media include dynamic memory, suchas main memory 605. Transmission media include coaxial cables, copperwire, and fiber optics, including the wires that comprise the bus 601.Transmission media can also take the form of acoustic, optical, orelectromagnetic waves, such as those generated during radio frequency(RF) and infrared (IR) data communications. Common forms ofcomputer-readable media include, for example, a floppy disk, a flexibledisk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM,CDRW, DVD, any other optical medium, punch cards, paper tape, opticalmark sheets, any other physical medium with patterns of holes or otheroptically recognizable indicia, a RAM, a PROM, and EPROM, a FLASH-EPROM,any other memory chip or cartridge, a carrier wave, or any other mediumfrom which a computer can read.

[0225] Various forms of computer-readable media may be involved inproviding instructions to a processor for execution. For example, theinstructions for carrying out at least part of the present invention mayinitially be borne on a magnetic disk of a remote computer. In such ascenario, the remote computer loads the instructions into main memoryand sends the instructions over a telephone line using a modem. A modemof a local computer system receives the data on the telephone line anduses an infrared transmitter to convert the data to an infrared signaland transmit the infrared signal to a portable computing device, such asa personal digital assistant (PDA) or a laptop. An infrared detector onthe portable computing device receives the information and instructionsborne by the infrared signal and places the data on a bus. The busconveys the data to main memory, from which a processor retrieves andexecutes the instructions. The instructions received by main memory canoptionally be stored on storage device either before or after executionby processor.

[0226] For example, although aspects of the present invention have beendescribed with respect to computer systems executing software thatdirects the functions of the present invention, it should be understoodthat present invention may alternatively be implemented as a programproduct for use with a data processing system. Programs defining thefunctions of the present invention can be delivered to a data processingsystem via a variety of signal-bearing media, which include, withoutlimitation, non-rewritable storage media (e.g., CD-ROM), rewritablestorage media (e.g., a floppy diskette or hard disk drive), andcommunication media, such as digital and analog networks. It should beunderstood, therefore, that such signal-bearing media, when carrying orencoding computer readable instructions that direct the functions of thepresent invention, represent alternative embodiments of the presentinvention.

[0227] As has been described, the present invention provides methods,systems and program products by which a service provider system can makeone or more service offerings available via chat, or other instantcommunications, and by which a principal associated with a chat clientmay access these chat-based services. In at least some embodiments ofthe present invention, the service provider system includes multiplestations that provide one or more chat-based services under a commonCSSN and a session router that distributes chat sessions to the stationsfor service. The chat-based services may be offered without charge ormay be subject to a per-use or per-unit fee that is billed by a billingsystem coupled to the service provider system. In embodiments of thepresent invention in which the chat-based service offerings include callcompletion, the service provider system may be coupled to a gatewaysystem that facilitates voice communication between a chat client and adestination station within a telephony network.

[0228] While various embodiments of the present invention have beendescribed above, it should be understood that they have been presentedby way of example only, and not limitation. Thus, the breadth and scopeof the present invention should not be limited by any of theabove-described exemplary embodiments, but should be defined only inaccordance with the following claims and their equivalents.

What is claimed is:
 1. A method for controlling usage of a serviceproviding system, the method comprising: receiving indication that afirst party, via an instant communications client communicating to theservice providing system in a first communications session, isrequesting that the service providing system perform a service;responsive to the indication, determining a usage charge to be assessedfor the performing the service; determining whether payment can beobtained for the usage charge pertaining to the performing the service;and conditionally causing the service providing system to perform theservice responsive to whether payment can be obtained for the usagecharge.
 2. The method of claim 1 wherein the receiving indication isresponsive to the first party engaging in instant communicationsaddressed to a screen name associated with the service providing system.3. The method of claim 1 wherein the service comprises engaging anintelligent media translator which performs at least one of: translatingaudio information from the second party into corresponding textualinformation to be received by the first party; and translating textualinformation from the first party to be translated into correspondingaudio information to be received by the second party.
 4. The method ofclaim 1 wherein the service comprises establishing a secondcommunications session in a communications system.
 5. The method ofclaim 1 wherein the service comprises establishing communicationsbetween the first party and a second party using a communicationssystem.
 6. The method of claim 5 wherein the communications between thefirst party and the second party comprises communicating of audioinformation through a packet data network.
 7. The method of claim 5wherein the second party communicates via a telephony connection.
 8. Themethod of claim 1 wherein the service comprises establishingcommunications between the instant communications client and a secondparty.
 9. The method of claim 8 wherein the communications between theinstant communications client and the second party comprisescommunicating of audio information through a packet data network. 10.The method of claim 8 wherein the second party communicates via atelephony connection.
 11. A method of assessing charges for usage of aservice providing system, the method comprising: receiving indicationthat a first party, via an instant communications client communicatingto the service providing system in a first communications session, isrequesting that the service providing system perform a service; andresponsive to the indication, determining a usage charge to be assessedfor the performing the service.
 12. The method of claim 11 wherein thereceiving indication is responsive to the first party engaging ininstant communications addressed to a screen name associated with theservice providing system.
 13. The method of claim 11 wherein the servicecomprises engaging an intelligent media translator which performs atleast one of: translating audio information from the second party intocorresponding textual information to be received by the first party; andtranslating textual information from the first party to be translatedinto corresponding audio information to be received by the second party.14. The method of claim 11 wherein the service comprises establishing asecond communications session in a communications system.
 15. The methodof claim 11 wherein the service comprises establishing communicationsbetween the first party and a second party using a communicationssystem.
 16. The method of claim 15 wherein the communications betweenthe first party and the second party comprises communicating of audioinformation through a packet data network.
 17. The method of claim 15wherein the second party communicates via a telephony connection. 18.The method of claim 11 wherein the service comprises establishingcommunications between the instant communications client and a secondparty.
 19. The method of claim 18 wherein the communications between theinstant communications client and the second party comprisescommunicating of audio information through a packet data network. 20.The method of claim 18 wherein the second party communicates via atelephony connection.
 21. A method of controlling usage of a serviceproviding system, comprising: receiving indication that a first party isattempting to access the service providing system using an instantcommunications client; determining a usage charge to be assessed for thefirst party accessing the communications service; determining whetherpayment can be obtained for the usage charge pertaining to the firstparty accessing the service providing system; and causing the serviceproviding system to conditionally allow access by the first partyresponsive to whether payment can be obtained for the usage charge. 22.The method of claim 21 wherein the receiving indication is responsive tothe first party addressing instant communications to a screen nameassociated with the service providing system.
 23. A method of assessingcharges for usage of a service providing system, the method comprising:receiving indication that a first party is accessing the serviceproviding system using an instant communications client; and responsiveto the indication, determining a usage charge to be assessed for theaccessing the communications service.
 24. The method of claim 23 whereinthe receiving indication is responsive to the first party addressinginstant communications to a screen name associated with the serviceproviding system.
 25. A system for controlling usage of a serviceproviding system, the system comprising: means for receiving indicationthat a first party, via an instant communications client communicatingto the service providing system in a first communications session, isrequesting that the service providing system perform a service; meansfor determining, responsive to the indication, a usage charge to beassessed for the performing the service; means for determining whetherpayment can be obtained for the usage charge pertaining to theperforming the service; and means for conditionally causing the serviceproviding system to perform the service responsive to whether paymentcan be obtained for the usage charge.
 26. The system of claim 25 whereinthe receiving indication is responsive to the first party engaging ininstant communications addressed to a screen name associated with theservice providing system.
 27. The system of claim 25 wherein the servicecomprises engaging an intelligent media translator which performs atleast one of: translating audio information from the second party intocorresponding textual information to be received by the first party; andtranslating textual information from the first party to be translatedinto corresponding audio information to be received by the second party.28. The system of claim 25 wherein the service comprises establishing asecond communications session in a communications system.
 29. The systemof claim 25 wherein the service comprises establishing communicationsbetween the first party and a second party using a communicationssystem.
 30. The system of claim 29 wherein the communications betweenthe first party and the second party comprises communicating of audioinformation through a packet data network.
 31. The system of claim 29wherein the second party communicates via a telephony connection. 32.The system of claim 25 wherein the service comprises establishingcommunications between the instant communications client and a secondparty.
 33. The system of claim 32 wherein the communications between theinstant communications client and the second party comprisescommunicating of audio information through a packet data network. 34.The system of claim 32 wherein the second party communicates via atelephony connection.
 35. A system for assessing charges for usage of aservice providing system, the system comprising: means for receivingindication that a first party, via an instant communications clientcommunicating to the service providing system in a first communicationssession, is requesting that the service providing system perform aservice; and means for determining, responsive to the indication, ausage charge to be assessed for the performing the service.
 36. Thesystem of claim 35 wherein the receiving indication is responsive to thefirst party engaging in instant communications addressed to a screenname associated with the service providing system.
 37. The system ofclaim 35 wherein the service comprises engaging an intelligent mediatranslator which performs at least one of: translating audio informationfrom the second party into corresponding textual information to bereceived by the first party; and translating textual information fromthe first party to be translated into corresponding audio information tobe received by the second party.
 38. The system of claim 35 wherein theservice comprises establishing a second communications session in acommunications system.
 39. The system of claim 35 wherein the servicecomprises establishing communications between the first party and asecond party using a communications system.
 40. The system of claim 39wherein the communications between the first party and the second partycomprises communicating of audio information through a packet datanetwork.
 41. The system of claim 39 wherein the second partycommunicates via a telephony connection.
 42. The system of claim 35wherein the service comprises establishing communications between theinstant communications client and a second party.
 43. The system ofclaim 42 wherein the communications between the instant communicationsclient and the second party comprises communicating of audio informationthrough a packet data network.
 44. The system of claim 42 wherein thesecond party communicates via a telephony connection.
 45. A system forcontrolling usage of a service providing system, comprising: means forreceiving indication that a first party is attempting to access theservice providing system using an instant communications client; meansfor determining a usage charge to be assessed for the first partyaccessing the communications service; means for determining whetherpayment can be obtained for the usage charge pertaining to the firstparty accessing the service providing system; and means for causing theservice providing system to conditionally allow access by the firstparty responsive to whether payment can be obtained for the usagecharge.
 46. The system of claim 45 wherein the receiving indication isresponsive to the first party addressing instant communications to ascreen name associated with the service providing system.
 47. A systemfor assessing charges for usage of a service providing system, thesystem comprising: means for receiving indication that a first party isaccessing the service providing system using an instant communicationsclient; and means for determining, responsive to the indication, a usagecharge to be assessed for the accessing the communications service. 48.The system of claim 47 wherein the receiving indication is responsive tothe first party addressing instant communications to a screen nameassociated with the service providing system.
 49. A computer-readablemedium comprising instructions which, when executed by a processor,implement a method for controlling usage of a service providing system,the method comprising: receiving indication that a first party, via aninstant communications client communicating to the service providingsystem in a first communications session, is requesting that the serviceproviding system perform a service; responsive to the indication,determining a usage charge to be assessed for the performing theservice; determining whether payment can be obtained for the usagecharge pertaining to the performing the service; and conditionallycausing the service providing system to perform the service responsiveto whether payment can be obtained for the usage charge.
 50. Thecomputer-readable medium of claim 49 wherein the receiving indication isresponsive to the first party engaging in instant communicationsaddressed to a screen name associated with the service providing system.51. The computer-readable medium of claim 49 wherein the servicecomprises engaging a intelligent media translator which performs atleast one of: translating audio information from the second party intocorresponding textual information to be received by the first party; andtranslating textual information from the first party to be translatedinto corresponding audio information to be received by the second party.52. The computer-readable medium of claim 49 wherein the servicecomprises establishing a second communications session in acommunications system.
 53. The computer-readable medium of claim 49wherein the service comprises establishing communications between thefirst party and a second party using a communications system.
 54. Thecomputer-readable medium of claim 53 wherein the communications betweenthe first party and the second party comprises communicating of audioinformation through a packet data network.
 55. The computer-readablemedium of claim 53 wherein the second party communicates via a telephonyconnection.
 56. The computer-readable medium of claim 49 wherein theservice comprises establishing communications between the instantcommunications client and a second party.
 57. The computer-readablemedium of claim 56 wherein the communications between the instantcommunications client and the second party comprises communicating ofaudio information through a packet data network.
 58. Thecomputer-readable medium of claim 56 wherein the second partycommunicates via a telephony connection.
 59. A computer-readable mediumcomprising instructions which, when executed by a processor, implement amethod of assessing charges for usage of a service providing system, themethod comprising: receiving indication that a first party, via aninstant communications client communicating to the service providingsystem in a first communications session, is requesting that the serviceproviding system perform a service; and responsive to the indication,determining a usage charge to be assessed for the performing theservice.
 60. The computer-readable medium of claim 59 wherein thereceiving indication is responsive to the first party engaging ininstant communications addressed to a screen name associated with theservice providing system.
 61. The computer-readable medium of claim 59wherein the service comprises engaging a intelligent media translatorwhich performs at least one of: translating audio information from thesecond party into corresponding textual information to be received bythe first party; and translating textual information from the firstparty to be translated into corresponding audio information to bereceived by the second party.
 62. The computer-readable medium of claim59 wherein the service comprises establishing a second communicationssession in a communications system.
 63. The computer-readable medium ofclaim 59 wherein the service comprises establishing communicationsbetween the first party and a second party using a communicationssystem.
 64. The computer-readable medium of claim 63 wherein thecommunications between the first party and the second party comprisescommunicating of audio information through a packet data network. 65.The computer-readable medium of claim 63 wherein the second partycommunicates via a telephony connection.
 66. The computer-readablemedium of claim 59 wherein the service comprises establishingcommunications between the instant communications client and a secondparty.
 67. The computer-readable medium of claim 66 wherein thecommunications between the instant communications client and the secondparty comprises communicating of audio information through a packet datanetwork.
 68. The computer-readable medium of claim 66 wherein the secondparty communicates via a telephony connection.
 69. A computer-readablemedium comprising instructions which, when executed by a processor,implement a method of controlling usage of a service providing system,comprising: receiving indication that a first party is attempting toaccess the service providing system using an instant communicationsclient; determining a usage charge to be assessed for the first partyaccessing the communications service; determining whether payment can beobtained for the usage charge pertaining to the first party accessingthe service providing system; and causing the service providing systemto conditionally allow access by the first party responsive to whetherpayment can be obtained for the usage charge.
 70. The computer-readablemedium of claim 69 wherein the receiving indication is responsive to thefirst party addressing instant communications to a screen nameassociated with the service providing system.
 71. A computer-readablemedium comprising instructions which, when executed by a processor,implement a method of assessing charges for usage of a service providingsystem, the method comprising: receiving indication that a first partyis accessing the service providing system using an instantcommunications client; and responsive to the indication, determining ausage charge to be assessed for the accessing the communicationsservice.
 72. The computer-readable medium of claim 71 wherein thereceiving indication is responsive to the first party addressing instantcommunications to a screen name associated with the service providingsystem.
 73. A method for assessing charges for usage of a serviceproviding system, the method comprising: receiving indication that afirst party is accessing the service providing system using an instantcommunications client; receiving first information pertaining to anidentity of the first party; receiving second information pertaining toan identity of a messaging service by which the first party is accessingthe service providing system; responsive at least to a combination ofthe first information and the second information, identifying an accountto which charges are to be applied; and performing at least one ofapplying the charges to the account and determining whether the accountwill bear the charges.
 74. The method of claim 73 further comprising:receiving third information indicating an instant communications screenname by which the first party is accessing the service providing system,wherein the identifying the account is further responsive to the instantcommunications screen name.